diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-11-15 14:00:18 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-11-15 14:00:18 +0100 |
commit | 6ca0b4704367f8804e0373cb439e6e17e5146e4a (patch) | |
tree | 31ce5042bb575dd1afd6d309467c0c0d36e18914 /modules/fdlibm/src/e_acosh.cpp | |
parent | 85c60f94fb584ecab49743ab533e56f0f9981ecc (diff) | |
download | UXP-6ca0b4704367f8804e0373cb439e6e17e5146e4a.tar UXP-6ca0b4704367f8804e0373cb439e6e17e5146e4a.tar.gz UXP-6ca0b4704367f8804e0373cb439e6e17e5146e4a.tar.lz UXP-6ca0b4704367f8804e0373cb439e6e17e5146e4a.tar.xz UXP-6ca0b4704367f8804e0373cb439e6e17e5146e4a.zip |
Issue #1291 - Part 2: Stop using the lib's sqrt() function
Use <cmath>'s functions over fdlibm's for performance reasons.
No significant precision loss when doing this.
Diffstat (limited to 'modules/fdlibm/src/e_acosh.cpp')
-rw-r--r-- | modules/fdlibm/src/e_acosh.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/fdlibm/src/e_acosh.cpp b/modules/fdlibm/src/e_acosh.cpp index bdabcec3e..ce52d5aaa 100644 --- a/modules/fdlibm/src/e_acosh.cpp +++ b/modules/fdlibm/src/e_acosh.cpp @@ -29,6 +29,7 @@ * acosh(NaN) is NaN without signal. */ +#include <cmath> #include <float.h> #include "math_private.h" @@ -55,9 +56,9 @@ __ieee754_acosh(double x) return 0.0; /* acosh(1) = 0 */ } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ t=x*x; - return __ieee754_log(2.0*x-one/(x+sqrt(t-one))); + return __ieee754_log(2.0*x-one/(x+std::sqrt(t-one))); } else { /* 1<x<2 */ t = x-one; - return log1p(t+sqrt(2.0*t+t*t)); + return log1p(t+std::sqrt(2.0*t+t*t)); } } |