summaryrefslogtreecommitdiff
path: root/fits_uintmax.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2010-04-30 15:50:27 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2010-04-30 15:50:27 +0000
commitcab2c98943d215f88a0fff88022020ea994acc58 (patch)
treef82f1914a1c0ba3e636cf7e3ba88b963b6b680f6 /fits_uintmax.c
parent7ab898566fbc63b0b999c672142dd58412a62f52 (diff)
downloadmpfr-cab2c98943d215f88a0fff88022020ea994acc58.tar.gz
Optimized fits_u.h and made fits_uintmax.c like fits_u.h for the
special numbers. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@6769 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'fits_uintmax.c')
-rw-r--r--fits_uintmax.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fits_uintmax.c b/fits_uintmax.c
index caa9b1ab4..c1d0b64be 100644
--- a/fits_uintmax.c
+++ b/fits_uintmax.c
@@ -53,12 +53,12 @@ mpfr_fits_uintmax_p (mpfr_srcptr f, mpfr_rnd_t rnd)
mpfr_t x;
int res;
- if (MPFR_IS_NAN(f) || MPFR_IS_INF(f) || MPFR_SIGN(f) < 0)
- return 0; /* does not fit */
-
- if (MPFR_IS_ZERO(f))
- return 1; /* zero always fits */
-
+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
+ /* Zero always fit */
+ return MPFR_IS_ZERO (f) ? 1 : 0;
+ else if (MPFR_IS_NEG (f))
+ /* Negative numbers doesn't fit */
+ return 0;
/* now it fits if
(a) f <= MAXIMUM
(b) round(f, prec(slong), rnd) <= MAXIMUM */