summaryrefslogtreecommitdiff
path: root/tests/tlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tlog.c')
-rw-r--r--tests/tlog.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/tests/tlog.c b/tests/tlog.c
index 168d6d802..af388488e 100644
--- a/tests/tlog.c
+++ b/tests/tlog.c
@@ -64,24 +64,27 @@ check1 (double a, mp_rnd_t rnd_mode, double res1, int ck, int max_ulp)
{
mpfr_t ta, tres;
double res2;
- int diff=0;
+ int diff = 0;
/* ck=1 iff res1 is certified correct */
- mpfr_init2(ta, 53);
- mpfr_init2(tres, 53);
- mpfr_set_d(ta, a, GMP_RNDN);
- mpfr_log(tres, ta, rnd_mode);
- res2=mpfr_get_d1 (tres);
- mpfr_clear(ta); mpfr_clear(tres);
-
- if (res1!=res2 && (!isnan(res1) || !isnan(res2))) {
- diff = ulp(res1,res2);
- printf("mpfr_log failed for a=%1.20e, rnd_mode=%s\n", a,
- mpfr_print_rnd_mode(rnd_mode));
- printf("correct result is %1.20e\n mpfr_log gives %1.20e (%d ulp)\n",res1,res2,ulp(res1,res2));
- exit(1);
- }
- if (!isnan(res1) || !isnan(res2))
+ mpfr_init2 (ta, 53);
+ mpfr_init2 (tres, 53);
+ mpfr_set_d (ta, a, GMP_RNDN);
+ mpfr_log (tres, ta, rnd_mode);
+ res2 = mpfr_get_d1 (tres);
+ mpfr_clear (ta);
+ mpfr_clear (tres);
+
+ if (res1 != res2 && !(Isnan(res1) && Isnan(res2)))
+ {
+ diff = ulp (res1,res2);
+ printf ("mpfr_log failed for a=%1.20e, rnd_mode=%s\n", a,
+ mpfr_print_rnd_mode (rnd_mode));
+ printf ("correct result is %1.20e\n mpfr_log gives %1.20e (%d ulp)\n",
+ res1, res2, ulp (res1,res2));
+ exit (1);
+ }
+ if (!Isnan(res1) || !Isnan(res2))
return diff;
else
return 0;