Initialize x and set it to 0/1. Each variable should normally only be initialized once, or at least cleared out (using the function
mpq_clear) between each initialization.
Initialize a NULL-terminated list of
mpq_tvariables, and set their values to 0/1.
Free the space occupied by x. Make sure to call this function for all
mpq_tvariables when you are done with them.
Free the space occupied by a NULL-terminated list of
mpq_tvariables.
Assign rop from op.
Set the value of rop to op1/op2. Note that if op1 and op2 have common factors, rop has to be passed to
mpq_canonicalizebefore any operations are performed on rop.
Set rop from a null-terminated string str in the given base.
The string can be an integer like “41” or a fraction like “41/152”. The fraction must be in canonical form (see Rational Number Functions), or if not then
mpq_canonicalizemust be called.The numerator and optional denominator are parsed the same as in
mpz_set_str(see Assigning Integers). White space is allowed in the string, and is simply ignored. The base can vary from 2 to 62, or if base is 0 then the leading characters are used:0xor0Xfor hex,0bor0Bfor binary,0for octal, or decimal otherwise. Note that this is done separately for the numerator and denominator, so for instance0xEF/100is 239/100, whereas0xEF/0x100is 239/256.The return value is 0 if the entire string is a valid number, or −1 if not.