summaryrefslogtreecommitdiff
path: root/sqrt_ui.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-10-15 14:00:45 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-10-15 14:00:45 +0000
commit3813ed49eca07ed50b6bfbdcea354da7a1fa6ddf (patch)
tree2751c50525760e64467fdc9672f44024fd43210d /sqrt_ui.c
parentc4383eb71110a8ee6fba69315c3f600320588885 (diff)
downloadmpfr-3813ed49eca07ed50b6bfbdcea354da7a1fa6ddf.tar.gz
avoid one variable
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1246 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'sqrt_ui.c')
-rw-r--r--sqrt_ui.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/sqrt_ui.c b/sqrt_ui.c
index 3453e3d0f..849160905 100644
--- a/sqrt_ui.c
+++ b/sqrt_ui.c
@@ -1,6 +1,6 @@
/* mpfr_sqrt_ui -- square root of a machine integer
-Copyright (C) 2000 Free Software Foundation.
+Copyright (C) 2000-2001 Free Software Foundation.
This file is part of the MPFR Library.
@@ -37,22 +37,23 @@ mpfr_sqrt_ui (r, u, rnd_mode)
mp_rnd_t rnd_mode;
#endif
{
- int error = 0;
- mpfr_t uu;
- mp_limb_t up[1];
- unsigned long cnt;
-
- if (u) { /* if u=0, do nothing */
- 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;
-
- error = mpfr_sqrt(r, uu, rnd_mode);
- }
- else {
- MPFR_CLEAR_FLAGS(r);
- MPFR_SET_ZERO(r);
- }
- return error;
+ if (u)
+ {
+ mpfr_t uu;
+ mp_limb_t up[1];
+ unsigned long cnt;
+
+ 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;
+
+ return mpfr_sqrt(r, uu, rnd_mode);
+ }
+ else /* sqrt(0) = 0 */
+ {
+ MPFR_CLEAR_FLAGS(r);
+ MPFR_SET_ZERO(r);
+ return 0;
+ }
}