Node:Comparing Rationals, Next:, Previous:Rational Arithmetic, Up:Rational Number Functions



Comparison Functions

int mpq_cmp (mpq_t op1, mpq_t op2) Function
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.

int mpq_cmp_ui (mpq_t op1, unsigned long int num2, unsigned long int den2) Macro
int mpq_cmp_si (mpq_t op1, long int num2, unsigned long int den2) Macro
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.

int mpq_sgn (mpq_t op) Macro
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.

int mpq_equal (mpq_t op1, mpq_t op2) Function
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.