summaryrefslogtreecommitdiffstats
path: root/modules/fdlibm/src/e_acos.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-15 14:00:18 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-15 14:00:18 +0100
commit6ca0b4704367f8804e0373cb439e6e17e5146e4a (patch)
tree31ce5042bb575dd1afd6d309467c0c0d36e18914 /modules/fdlibm/src/e_acos.cpp
parent85c60f94fb584ecab49743ab533e56f0f9981ecc (diff)
downloadUXP-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_acos.cpp')
-rw-r--r--modules/fdlibm/src/e_acos.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/fdlibm/src/e_acos.cpp b/modules/fdlibm/src/e_acos.cpp
index 12be296cb..4f497b3b3 100644
--- a/modules/fdlibm/src/e_acos.cpp
+++ b/modules/fdlibm/src/e_acos.cpp
@@ -38,6 +38,7 @@
* Function needed: sqrt
*/
+#include <cmath>
#include <float.h>
#include "math_private.h"
@@ -87,13 +88,13 @@ __ieee754_acos(double x)
z = (one+x)*0.5;
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
- s = sqrt(z);
+ s = std::sqrt(z);
r = p/q;
w = r*s-pio2_lo;
return pi - 2.0*(s+w);
} else { /* x > 0.5 */
z = (one-x)*0.5;
- s = sqrt(z);
+ s = std::sqrt(z);
df = s;
SET_LOW_WORD(df,0);
c = (z-df*df)/(s+df);