aboutsummaryrefslogtreecommitdiff
path: root/pl/math/test/ulp_wrappers.h
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2022-06-16 12:08:16 +0100
committerJoe Ramsay <joe.ramsay@arm.com>2022-06-16 12:08:16 +0100
commitea4649a6ea3b79033755217613bd8ab4791c1dea (patch)
treed5e8ac002b51b524aa66db33b4d166558c68e35c /pl/math/test/ulp_wrappers.h
parent9440393e38953b415e790860691860169b690434 (diff)
downloadarm-optimized-routines-ea4649a6ea3b79033755217613bd8ab4791c1dea.tar.gz
pl/math: Add vector/Neon atan
Successfully ran tests and benchmarks. New routine is accurate to 3 ulps.
Diffstat (limited to 'pl/math/test/ulp_wrappers.h')
-rw-r--r--pl/math/test/ulp_wrappers.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/pl/math/test/ulp_wrappers.h b/pl/math/test/ulp_wrappers.h
index 75b63b1..f1bfdf2 100644
--- a/pl/math/test/ulp_wrappers.h
+++ b/pl/math/test/ulp_wrappers.h
@@ -17,6 +17,7 @@ static int sincos_mpfr_cos(mpfr_t y, const mpfr_t x, mpfr_rnd_t r) { mpfr_sin(y,
static float v_erff(float x) { return __v_erff(argf(x))[0]; }
static float v_erfcf(float x) { return __v_erfcf(argf(x))[0]; }
static float v_log10f(float x) { return __v_log10f(argf(x))[0]; }
+static double v_atan(double x) { return __v_atan(argd(x))[0]; }
static double v_atan2(double x, double y) { return __v_atan2(argd(x), argd(y))[0]; }
static double v_erf(double x) { return __v_erf(argd(x))[0]; }
static double v_erfc(double x) { return __v_erfc(argd(x))[0]; }
@@ -25,6 +26,7 @@ static double v_log10(double x) { return __v_log10(argd(x))[0]; }
static float vn_erff(float x) { return __vn_erff(argf(x))[0]; }
static float vn_erfcf(float x) { return __vn_erfcf(argf(x))[0]; }
static float vn_log10f(float x) { return __vn_log10f(argf(x))[0]; }
+static double vn_atan(double x) { return __vn_atan(argd(x))[0]; }
static double vn_atan2(double x, double y) { return __vn_atan2(argd(x), argd(y))[0]; }
static double vn_erf(double x) { return __vn_erf(argd(x))[0]; }
static double vn_erfc(double x) { return __vn_erfc(argd(x))[0]; }
@@ -33,6 +35,7 @@ static double vn_log10(double x) { return __vn_log10(argd(x))[0]; }
static float Z_erff(float x) { return _ZGVnN4v_erff(argf(x))[0]; }
static float Z_erfcf(float x) { return _ZGVnN4v_erfcf(argf(x))[0]; }
static float Z_log10f(float x) { return _ZGVnN4v_log10f(argf(x))[0]; }
+static double Z_atan(double x) { return _ZGVnN2v_atan(argd(x))[0]; }
static double Z_atan2(double x, double y) { return _ZGVnN2vv_atan2(argd(x), argd(y))[0]; }
static double Z_erf(double x) { return _ZGVnN2v_erf(argd(x))[0]; }
static double Z_erfc(double x) { return _ZGVnN2v_erfc(argd(x))[0]; }