Next: Floating-point Functions, Previous: Integer Functions, Up: Top [Index]

This chapter describes the GMP functions for performing arithmetic on rational
numbers. These functions start with the prefix `mpq_`

.

Rational numbers are stored in objects of type `mpq_t`

.

All rational arithmetic functions assume operands have a canonical form, and canonicalize their result. The canonical form means that the denominator and the numerator have no common factors, and that the denominator is positive. Zero has the unique representation 0/1.

Pure assignment functions do not canonicalize the assigned variable. It is the responsibility of the user to canonicalize the assigned variable before any arithmetic operations are performed on that variable.

- Function:
*void***mpq_canonicalize***(mpq_t*`op`) Remove any factors that are common to the numerator and denominator of

`op`, and make the denominator positive.

• Initializing Rationals: | ||

• Rational Conversions: | ||

• Rational Arithmetic: | ||

• Comparing Rationals: | ||

• Applying Integer Functions: | ||

• I/O of Rationals: |