aboutsummaryrefslogtreecommitdiffstats
path: root/mpfr.c
diff options
context:
space:
mode:
Diffstat (limited to 'mpfr.c')
-rw-r--r--mpfr.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/mpfr.c b/mpfr.c
index 9d270e63..b15c9b0b 100644
--- a/mpfr.c
+++ b/mpfr.c
@@ -1079,16 +1079,14 @@ do_mpfr_strtonum(int nargs)
force_mpnum(r, true, use_lc_numeric);
r->stptr = NULL;
r->stlen = 0;
+ } else if (is_mpg_float(tmp)) {
+ int tval;
+ r = mpg_float();
+ tval = mpfr_set(r->mpg_numbr, tmp->mpg_numbr, ROUND_MODE);
+ IEEE_FMT(r->mpg_numbr, tval);
} else {
- if (is_mpg_float(tmp)) {
- int tval;
- r = mpg_float();
- tval = mpfr_set(r->mpg_numbr, tmp->mpg_numbr, ROUND_MODE);
- IEEE_FMT(r->mpg_numbr, tval);
- } else {
- r = mpg_integer();
- mpz_set(r->mpg_i, tmp->mpg_i);
- }
+ r = mpg_integer();
+ mpz_set(r->mpg_i, tmp->mpg_i);
}
DEREF(tmp);