summaryrefslogtreecommitdiff
path: root/set_ui_2exp.c
diff options
context:
space:
mode:
authorpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2004-11-18 14:52:59 +0000
committerpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2004-11-18 14:52:59 +0000
commit054cdf7c885c574e6c111003c8767575a2a44666 (patch)
tree49713e889d7f8ccbdad01a07e92ff3cdf8f9c27e /set_ui_2exp.c
parentef4cc77a66014090216445e952b0ccb9fc461e46 (diff)
downloadmpfr-054cdf7c885c574e6c111003c8767575a2a44666.tar.gz
Replace use of mpfr_save_emin_emax () / mpfr_restore_emin_emax()
by MPFR_SAVE_EXPO macros (DECL, MARK and FREE) which are faster and thread safe. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3100 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'set_ui_2exp.c')
-rw-r--r--set_ui_2exp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/set_ui_2exp.c b/set_ui_2exp.c
index 87906accf..a56de1c97 100644
--- a/set_ui_2exp.c
+++ b/set_ui_2exp.c
@@ -26,13 +26,15 @@ int
mpfr_set_ui_2exp (mpfr_ptr x, unsigned long i, mp_exp_t e, mp_rnd_t rnd_mode)
{
int res;
+ MPFR_SAVE_EXPO_DECL (expo);
- mpfr_save_emin_emax ();
+ MPFR_SAVE_EXPO_MARK (expo);
+ /* TODO: Fix overflow bug */
res = mpfr_set_ui (x, i, rnd_mode);
MPFR_ASSERTD ( res == 0);
MPFR_ASSERTD (e == (mp_exp_t)(long) e);
res = mpfr_mul_2si (x, x, e, rnd_mode);
- mpfr_restore_emin_emax ();
+ MPFR_SAVE_EXPO_FREE (expo);
if (res)
return res;
res = mpfr_check_range(x, 0, rnd_mode);