diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2004-02-03 10:06:53 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2004-02-03 10:06:53 +0000 |
commit | a3bad9513b29aed9518992a4488556788a4248a6 (patch) | |
tree | e7924f8fc42d75d781487fff204b885dea2387e7 /tests/tget_str.c | |
parent | eddbad0b931c43cfbca69f0e1b43396ddbc3ebbb (diff) | |
download | mpfr-a3bad9513b29aed9518992a4488556788a4248a6.tar.gz |
fixed bug in get_str (case pow2, rnd=up or down)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2655 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tget_str.c')
-rw-r--r-- | tests/tget_str.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/tget_str.c b/tests/tget_str.c index faab62088..8fbbdf0f1 100644 --- a/tests/tget_str.c +++ b/tests/tget_str.c @@ -185,6 +185,26 @@ check_small (void) } (*__gmp_free_func) (s, strlen (s) + 1); + mpfr_set_prec (x, 145); + mpfr_set_str_binary (x, "-0.1000110011000001011000010101101010110110101100101110100011111100011110011001001001010000100001000011000011000000010111011001000111101001110100110e6"); + s = mpfr_get_str (NULL, &e, 4, 53, x, GMP_RNDU); + if (strcmp (s, "-20303001120111222312230232203330132121021100201003003") || (e != 3)) + { + printf ("Error in mpfr_get_str (5): s=%s e=%d\n", s, (int) e); + exit (1); + } + (*__gmp_free_func) (s, strlen (s) + 1); + + mpfr_set_prec (x, 45); + mpfr_set_str_binary (x, "-0.00100111010110010001011001110111010001010010010"); + s = mpfr_get_str (NULL, &e, 32, 9, x, GMP_RNDN); + if (strcmp (s, "-4tchctq54") || (e != 0)) + { + printf ("Error in mpfr_get_str (6): s=%s e=%d\n", s, (int) e); + exit (1); + } + (*__gmp_free_func) (s, strlen (s) + 1); + mpfr_clear (x); } |