summaryrefslogtreecommitdiff
path: root/root.c
diff options
context:
space:
mode:
authorpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2005-06-13 12:03:30 +0000
committerpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2005-06-13 12:03:30 +0000
commit4e3062b51782d726f1fe92400d5ee677200e2e59 (patch)
tree053917036715e2060b894b03583da0501940c4c0 /root.c
parent2f2f940b8ceec0deb86ca4697c6c58725d7f8391 (diff)
downloadmpfr-4e3062b51782d726f1fe92400d5ee677200e2e59.tar.gz
Fix bug with x<0 and k even
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3647 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'root.c')
-rw-r--r--root.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/root.c b/root.c
index 6a591b0ef..2d0506861 100644
--- a/root.c
+++ b/root.c
@@ -107,6 +107,13 @@ mpfr_root (mpfr_ptr y, mpfr_srcptr x, unsigned long k, mp_rnd_t rnd_mode)
}
}
+ /* Returns NAN for x < 0 and k even */
+ else if (MPFR_IS_NEG (x) && (k % 2 == 0))
+ {
+ MPFR_SET_NAN (y);
+ MPFR_RET_NAN;
+ }
+
/* General case */
MPFR_SAVE_EXPO_MARK (expo);
mpz_init (m);