summaryrefslogtreecommitdiff
path: root/tests/tpow_all.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tpow_all.c')
-rw-r--r--tests/tpow_all.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/tpow_all.c b/tests/tpow_all.c
index c755aba23..d1a6ba153 100644
--- a/tests/tpow_all.c
+++ b/tests/tpow_all.c
@@ -436,6 +436,22 @@ underflow_up1 (int extended_emin)
mpfr_clears (delta, x, y, z, z0, (mpfr_ptr) 0);
}
+/* With pow.c r5497, the following test fails on a 64-bit Linux machine
+ * due to a double-rounding problem when rescaling the result:
+ * Error with underflow_up2 and extended emin
+ * x = 7.fffffffffffffff0@-1,
+ * y = 4611686018427387904, GMP_RNDN
+ * Expected 1.0000000000000000@-1152921504606846976, inex = 1, flags = 9
+ * Got 0, inex = -1, flags = 9
+ * With pow_ui.c r5423, the following test fails on a 64-bit Linux machine
+ * as underflows and overflows are not handled correctly (the approximation
+ * error is ignored):
+ * Error with mpfr_pow_ui, flags cleared
+ * x = 7.fffffffffffffff0@-1,
+ * y = 4611686018427387904, GMP_RNDN
+ * Expected 1.0000000000000000@-1152921504606846976, inex = 1, flags = 9
+ * Got 0, inex = -1, flags = 9
+ */
static void
underflow_up2 (int extended_emin)
{