summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2002-04-29 14:55:40 +0200
committertege <tege@gmplib.org>2002-04-29 14:55:40 +0200
commit6610d3d4e4a2eb59927543d0e09ab12ee1eafd94 (patch)
tree07523288c743d7097c1eba7feb2b0c1e8e12c008
parent24dadb0bfcd122a0410f9f9abe71affb1aa36598 (diff)
downloadgmp-6610d3d4e4a2eb59927543d0e09ab12ee1eafd94.tar.gz
Nailify.
-rw-r--r--mpq/cmp_ui.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/mpq/cmp_ui.c b/mpq/cmp_ui.c
index b40628f4b..00b7b03df 100644
--- a/mpq/cmp_ui.c
+++ b/mpq/cmp_ui.c
@@ -35,6 +35,19 @@ _mpq_cmp_ui (const MP_RAT *op1, unsigned long int num2, unsigned long int den2)
int cc;
TMP_DECL (marker);
+#if GMP_NAIL_BITS != 0
+ if ((num2 | den2) > GMP_NUMB_MAX)
+ {
+ mpq_t op2;
+ mpq_init (op2);
+ mpz_set_ui (mpq_numref (op2), num2);
+ mpz_set_ui (mpq_denref (op2), den2);
+ cc = mpq_cmp (op1, op2);
+ mpq_clear (op2);
+ return cc;
+ }
+#endif
+
/* need canonical sign to get right result */
ASSERT (den1_size > 0);