Node:Applying Integer Functions, Next:, Previous:Comparing Rationals, Up:Rational Number Functions



Applying Integer Functions to Rationals

The set of mpq functions is quite small. In particular, there are few functions for either input or output. The following functions give direct access to the numerator and denominator of an mpq_t.

Note that if an assignment to the numerator and/or denominator could take an mpq_t out of the canonical form described at the start of this chapter (see Rational Number Functions) then mpq_canonicalize must be called before any other mpq functions are applied to that mpq_t.

mpz_t mpq_numref (mpq_t op) Macro
mpz_t mpq_denref (mpq_t op) Macro
Return a reference to the numerator and denominator of op, respectively. The mpz functions can be used on the result of these macros.

void mpq_get_num (mpz_t numerator, mpq_t rational) Function
void mpq_get_den (mpz_t denominator, mpq_t rational) Function
void mpq_set_num (mpq_t rational, mpz_t numerator) Function
void mpq_set_den (mpq_t rational, mpz_t denominator) Function
Get or set the numerator or denominator of a rational. These functions are equivalent to calling mpz_set with an appropriate mpq_numref or mpq_denref. Direct use of mpq_numref or mpq_denref is recommended instead of these functions.