From 9acbbafef971e86766aa45a826f68008b435ee40 Mon Sep 17 00:00:00 2001 From: hanrot Date: Thu, 15 Jun 2000 17:26:03 +0000 Subject: Minor patch (put to 0 the nonsignificant bits). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@617 280ebfd0-de03-0410-8827-d642c229c3f4 --- trunc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'trunc.c') diff --git a/trunc.c b/trunc.c index 8b112e40e..a6f927f2b 100644 --- a/trunc.c +++ b/trunc.c @@ -75,7 +75,7 @@ FUNC_NAME (r, u) { mp_ptr rp, up; mp_size_t size, asize; - mp_size_t prec; + mp_size_t prec, rw; #ifdef _MPFR_FLOOR_OR_CEIL mp_size_t ignored_n; #endif @@ -144,6 +144,10 @@ FUNC_NAME (r, u) #endif MPN_COPY_INCR (rp, up, asize); + /* Put to 0 the remaining bits */ + rw = r->_mp_prec & (BITS_PER_MP_LIMB - 1); + rp[asize] &= ~((((mp_limb_t)1)<<(BITS_PER_MP_LIMB - rw)) - (mp_limb_t)1); + r->_mp_exp = exp; r->_mp_size = size >= 0 ? asize : -asize; } -- cgit v1.2.1