summaryrefslogtreecommitdiff
path: root/ui_sub.c
diff options
context:
space:
mode:
authordaney <daney@280ebfd0-de03-0410-8827-d642c229c3f4>2001-06-14 15:55:36 +0000
committerdaney <daney@280ebfd0-de03-0410-8827-d642c229c3f4>2001-06-14 15:55:36 +0000
commita22d401bc7b4f9fb4c1025a91e67e9318a40b7e9 (patch)
treeb8a6606290bbcf96d57362627dc25c3217f6c333 /ui_sub.c
parent0c5d5d07b72d32a376331aee381619d2a5e96980 (diff)
downloadmpfr-a22d401bc7b4f9fb4c1025a91e67e9318a40b7e9.tar.gz
A few patches.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1091 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'ui_sub.c')
-rw-r--r--ui_sub.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ui_sub.c b/ui_sub.c
index 8bc560cd6..e08bcf244 100644
--- a/ui_sub.c
+++ b/ui_sub.c
@@ -41,6 +41,8 @@ mpfr_ui_sub (y, u, x, rnd_mode)
mp_limb_t up[1];
unsigned long cnt;
+
+
if (MPFR_IS_NAN(x))
{
MPFR_SET_NAN(y);
@@ -57,12 +59,15 @@ mpfr_ui_sub (y, u, x, rnd_mode)
}
if (u) {
+
+
MPFR_INIT1(up, uu, BITS_PER_MP_LIMB, 1);
count_leading_zeros(cnt, (mp_limb_t) u);
*up = (mp_limb_t) u << cnt;
MPFR_EXP(uu) = BITS_PER_MP_LIMB-cnt;
mpfr_sub (y, uu, x, rnd_mode);
+
}
else mpfr_neg (y, x, rnd_mode); /* if u=0, then set y to -x */
}