Next: , Previous: Rational Arithmetic, Up: Rational Number Functions   [Index]


6.4 Comparison Functions

Function: int mpq_cmp (mpq_t op1, mpq_t op2)
Function: int mpq_cmp_z (const mpq_t op1, const mpz_t op2)

Compare op1 and op2. Return a positive value if op1 > op2, zero if op1 = op2, and a negative value if op1 < op2.

To determine if two rationals are equal, mpq_equal is faster than mpq_cmp.

Macro: int mpq_cmp_ui (mpq_t op1, mpir_ui num2, mpir_ui den2)
Macro: int mpq_cmp_si (mpq_t op1, mpir_si num2, mpir_ui den2)

Compare op1 and num2/den2. Return a positive value if op1 > num2/den2, zero if op1 = num2/den2, and a negative value if op1 < num2/den2.

num2 and den2 are allowed to have common factors.

These functions are implemented as a macros and evaluate their arguments multiple times.

Macro: int mpq_sgn (mpq_t op)

Return +1 if op > 0, 0 if op = 0, and -1 if op < 0.

This function is actually implemented as a macro. It evaluates its arguments multiple times.

Function: int mpq_equal (mpq_t op1, mpq_t op2)

Return non-zero if op1 and op2 are equal, zero if they are non-equal. Although mpq_cmp can be used for the same purpose, this function is much faster.