diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2014-10-30 14:41:34 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2014-10-30 14:41:34 +0000 |
commit | 0357e84ecc92c5f405fd06f7a4d0c332b9fce1c2 (patch) | |
tree | c44001f049474ffb9d379dd4a9089a0712ab3b4d /src/get_str.c | |
parent | 51f7d8b678ee40521a9b46224533c0169ea8a72a (diff) | |
download | mpfr-0357e84ecc92c5f405fd06f7a4d0c332b9fce1c2.tar.gz |
[src/get_str.c] Code refactoring.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9226 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/get_str.c')
-rw-r--r-- | src/get_str.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/get_str.c b/src/get_str.c index 774984c59..c8ffa2473 100644 --- a/src/get_str.c +++ b/src/get_str.c @@ -2323,13 +2323,14 @@ mpfr_get_str (char *s, mpfr_exp_t *e, int b, size_t m, mpfr_srcptr x, /* x is a floating-point number */ + if (s == NULL) + s = (char *) (*__gmp_allocate_func) (neg + m + 1); + s0 = s; + if (neg) + *s++ = '-'; + if (MPFR_IS_ZERO (x)) { - if (s == NULL) - s = (char *) (*__gmp_allocate_func) (neg + m + 1); - s0 = s; - if (neg) - *s++ = '-'; memset (s, '0', m); s[m] = '\0'; *e = 0; /* a bit like frexp() in ISO C99 */ @@ -2337,12 +2338,6 @@ mpfr_get_str (char *s, mpfr_exp_t *e, int b, size_t m, mpfr_srcptr x, return s0; /* strlen(s0) = neg + m */ } - if (s == NULL) - s = (char *) (*__gmp_allocate_func) (neg + m + 1); - s0 = s; - if (neg) - *s++ = '-'; - xp = MPFR_MANT (x); if (IS_POW2 (b)) |