aboutsummaryrefslogtreecommitdiff
path: root/pl/math/test/ulp_wrappers.h
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2022-08-17 16:25:49 +0100
committerJoe Ramsay <joe.ramsay@arm.com>2022-08-17 16:25:49 +0100
commit8e0882f0bc93e7df04c44d77abf14af502159f52 (patch)
tree1b143b1499fb67f099a1d1954f84a5eebe044c10 /pl/math/test/ulp_wrappers.h
parent15f280615aa2db05f47c6ce11b8dd9bef502b2e7 (diff)
downloadarm-optimized-routines-8e0882f0bc93e7df04c44d77abf14af502159f52.tar.gz
pl/math: Add vector/SVE atan2f
New routine is accurate to 3 ulps.
Diffstat (limited to 'pl/math/test/ulp_wrappers.h')
-rw-r--r--pl/math/test/ulp_wrappers.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/pl/math/test/ulp_wrappers.h b/pl/math/test/ulp_wrappers.h
index 4e02feb..0d72e51 100644
--- a/pl/math/test/ulp_wrappers.h
+++ b/pl/math/test/ulp_wrappers.h
@@ -65,6 +65,12 @@ static double Z_log10(double x) { return _ZGVnN2v_log10(argd(x))[0]; }
static double Z_log2(double x) { return _ZGVnN2v_log2(argd(x))[0]; }
#endif
#if WANT_SVE_MATH
+static float sv_atan2f(float x, float y) {
+ return svretf(__sv_atan2f_x(svargf(x), svargf(y), svptrue_b32()));
+}
+static float Z_sv_atan2f(float x, float y) {
+ return svretf(_ZGVsMxvv_atan2f(svargf(x), svargf(y), svptrue_b32()));
+}
static float sv_atanf(float x) {
return svretf(__sv_atanf_x(svargf(x), svptrue_b32()));
}