diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2016-05-23 13:15:49 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2016-05-23 13:15:49 +0000 |
commit | d7efcf0fed1ff92af216e8b3f7b00707bd2375dd (patch) | |
tree | 47d2c359a2192cc59719747179b09e6ba70e2f8f /src/ubf.c | |
parent | 06e0bc4ea4af87cd171ef562e61b8efbf4f7b174 (diff) | |
download | mpfr-d7efcf0fed1ff92af216e8b3f7b00707bd2375dd.tar.gz |
[src/ubf.c] Support reduced exponent range in mpfr_get_zexp.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/ubf@10320 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/ubf.c')
-rw-r--r-- | src/ubf.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -43,14 +43,17 @@ mpfr_get_zexp (mpz_ptr ez, mpfr_srcptr x) mp_limb_t e_limb[MPFR_EXP_LIMB_SIZE]; mpfr_t e; int inex; + MPFR_SAVE_EXPO_DECL (expo); /* TODO: Once this has been tested, optimize based on whether _MPFR_EXP_FORMAT <= 3. */ MPFR_TMP_INIT1 (e_limb, e, sizeof (mpfr_exp_t) * CHAR_BIT); + MPFR_SAVE_EXPO_MARK (expo); MPFR_DBGRES (inex = mpfr_set_exp_t (e, MPFR_GET_EXP (x), MPFR_RNDN)); MPFR_ASSERTD (inex == 0); MPFR_DBGRES (inex = mpfr_get_z (ez, e, MPFR_RNDN)); MPFR_ASSERTD (inex == 0); + MPFR_SAVE_EXPO_FREE (expo); } } |