From 4b539a826b64d846d02a6cde9d6bcff22472af88 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Mon, 7 Oct 2013 18:41:03 +0000 Subject: [PATCH] math: use sqrtl if FLT_EVAL_METHOD==2 in acosh and acoshf this makes acosh slightly more precise around 1.0 on i386 --- src/math/acosh.c | 5 +++++ src/math/acoshf.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/math/acosh.c b/src/math/acosh.c index 4ce9b3d1..badbf908 100644 --- a/src/math/acosh.c +++ b/src/math/acosh.c @@ -1,5 +1,10 @@ #include "libm.h" +#if FLT_EVAL_METHOD==2 +#undef sqrt +#define sqrt sqrtl +#endif + /* acosh(x) = log(x + sqrt(x*x-1)) */ double acosh(double x) { diff --git a/src/math/acoshf.c b/src/math/acoshf.c index 16550f19..8a4ec4d5 100644 --- a/src/math/acoshf.c +++ b/src/math/acoshf.c @@ -1,5 +1,13 @@ #include "libm.h" +#if FLT_EVAL_METHOD==2 +#undef sqrtf +#define sqrtf sqrtl +#elif FLT_EVAL_METHOD==1 +#undef sqrtf +#define sqrtf sqrt +#endif + /* acosh(x) = log(x + sqrt(x*x-1)) */ float acoshf(float x) { -- 2.25.1