GNU Info

Info Node: (gmp.info)Initializing Rationals

(gmp.info)Initializing Rationals


Next: Rational Conversions Prev: Rational Number Functions Up: Rational Number Functions
Enter node , (file) or (file)node

Initialization and Assignment Functions
=======================================

 - Function: void mpq_init (mpq_t DEST_RATIONAL)
     Initialize DEST_RATIONAL 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.

 - Function: void mpq_clear (mpq_t RATIONAL_NUMBER)
     Free the space occupied by RATIONAL_NUMBER.  Make sure to call this
     function for all `mpq_t' variables when you are done with them.

 - Function: void mpq_set (mpq_t ROP, mpq_t OP)
 - Function: void mpq_set_z (mpq_t ROP, mpz_t OP)
     Assign ROP from OP.

 - Function: void mpq_set_ui (mpq_t ROP, unsigned long int OP1,
          unsigned long int OP2)
 - Function: void mpq_set_si (mpq_t ROP, signed long int OP1, unsigned
          long int OP2)
     Set the value of ROP to OP1/OP2.  Note that if OP1 and OP2 have
     common factors, ROP has to be passed to `mpq_canonicalize' before
     any operations are performed on ROP.

 - Function: int mpq_set_str (mpq_t ROP, char *STR, int BASE)
     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 (Note: Rational
     Number Functions), or if not then `mpq_canonicalize' must be
     called.

     The numerator and optional denominator are parsed the same as in
     `mpz_set_str' (Note: Assigning Integers).  White space is
     allowed in the string, and is simply ignored.  The BASE can vary
     from 2 to 36, or if BASE is 0 then the leading characters are
     used: `0x' for hex, `0' for octal, or decimal otherwise.  Note
     that this is done separately for the numerator and denominator, so
     for instance `0xEF/100' is 239/100, whereas `0xEF/0x100' is
     239/256.

     The return value is 0 if the entire string is a valid number, or
     -1 if not.

 - Function: void mpq_swap (mpq_t ROP1, mpq_t ROP2)
     Swap the values ROP1 and ROP2 efficiently.


automatically generated by info2www version 1.2.2.9