From d5590b1ba64e2135036f0c5de0844a9cddec75f0 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 7 Jul 2020 17:09:32 +0300 Subject: Improve r_dupnode. --- node.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'node.c') diff --git a/node.c b/node.c index 04a90adc..2db6a1ef 100644 --- a/node.c +++ b/node.c @@ -310,24 +310,17 @@ r_dupnode(NODE *n) return n; } #endif + getnode(r); + *r = *n; #ifdef HAVE_MPFR if ((n->flags & MPZN) != 0) { - r = mpg_integer(); + mpz_init(r->mpg_i); mpz_set(r->mpg_i, n->mpg_i); - r->flags = n->flags; - r->strndmode = MPFR_round_mode; } else if ((n->flags & MPFN) != 0) { - r = mpg_float(); + mpfr_init(r->mpg_numbr); int tval = mpfr_set(r->mpg_numbr, n->mpg_numbr, ROUND_MODE); IEEE_FMT(r->mpg_numbr, tval); - r->flags = n->flags; - r->strndmode = MPFR_round_mode; - } else { -#endif - getnode(r); - *r = *n; -#ifdef HAVE_MPFR } #endif -- cgit v1.2.1