diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2018-01-10 22:09:43 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2018-01-10 22:09:43 +0200 |
commit | 27258ae8aff7bb3acae54f9e30ce93614bbb9590 (patch) | |
tree | 5ad316a23ccade25763125dfdd79b75d36f1edf1 /mpfr.c | |
parent | e1231907ef810d6e73a643c50aa29ce6b3fe4947 (diff) | |
parent | 11ef8fd2637da3ad21f2bc803432cadf3451b67a (diff) | |
download | egawk-27258ae8aff7bb3acae54f9e30ce93614bbb9590.tar.gz egawk-27258ae8aff7bb3acae54f9e30ce93614bbb9590.tar.bz2 egawk-27258ae8aff7bb3acae54f9e30ce93614bbb9590.zip |
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'mpfr.c')
-rw-r--r-- | mpfr.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -3,7 +3,8 @@ */ /* - * Copyright (C) 2012, 2013, 2015, 2017, the Free Software Foundation, Inc. + * Copyright (C) 2012, 2013, 2015, 2017, 2018, + * the Free Software Foundation, Inc. * * This file is part of GAWK, the GNU implementation of the * AWK Programming Language. @@ -27,6 +28,8 @@ #ifdef HAVE_MPFR +int MPFR_round_mode = 'N'; // default value + #if !defined(MPFR_VERSION_MAJOR) || MPFR_VERSION_MAJOR < 3 typedef mp_exp_t mpfr_exp_t; #endif @@ -373,6 +376,7 @@ mpg_format_val(const char *format, int index, NODE *s) efree(s->stptr); s->stptr = r->stptr; s->flags |= STRCUR; + s->strndmode = MPFR_round_mode; freenode(r); /* Do not unref(r)! We want to keep s->stptr == r->stpr. */ free_wstr(s); return s; @@ -596,6 +600,7 @@ set_ROUNDMODE() if (rndm != -1) { mpfr_set_default_rounding_mode(rndm); ROUND_MODE = rndm; + MPFR_round_mode = n->stptr[0]; } else warning(_("RNDMODE value `%.*s' is invalid"), (int) n->stlen, n->stptr); } |