aboutsummaryrefslogtreecommitdiff
path: root/pl/math/v_asinh_2u5.c
diff options
context:
space:
mode:
Diffstat (limited to 'pl/math/v_asinh_2u5.c')
-rw-r--r--pl/math/v_asinh_2u5.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pl/math/v_asinh_2u5.c b/pl/math/v_asinh_2u5.c
index 23171a1..4eeec4a 100644
--- a/pl/math/v_asinh_2u5.c
+++ b/pl/math/v_asinh_2u5.c
@@ -157,4 +157,18 @@ VPCS_ALIAS
PL_SIG (V, D, 1, asinh, -10.0, 10.0)
PL_TEST_ULP (V_NAME (asinh), 1.54)
PL_TEST_EXPECT_FENV (V_NAME (asinh), WANT_ERRNO)
+/* Test vector asinh 3 times, with control lane < 1, > 1 and special.
+ Ensures the v_sel is choosing the right option in all cases. */
+#define V_ASINH_INTERVAL(lo, hi, n) \
+ PL_TEST_INTERVAL_C (V_NAME (asinh), lo, hi, n, 0.5) \
+ PL_TEST_INTERVAL_C (V_NAME (asinh), lo, hi, n, 2) \
+ PL_TEST_INTERVAL_C (V_NAME (asinh), lo, hi, n, 0x1p600)
+V_ASINH_INTERVAL (0, 0x1p-26, 50000)
+V_ASINH_INTERVAL (0x1p-26, 1, 50000)
+V_ASINH_INTERVAL (1, 0x1p511, 50000)
+V_ASINH_INTERVAL (0x1p511, inf, 40000)
+V_ASINH_INTERVAL (-0, -0x1p-26, 50000)
+V_ASINH_INTERVAL (-0x1p-26, -1, 50000)
+V_ASINH_INTERVAL (-1, -0x1p511, 50000)
+V_ASINH_INTERVAL (-0x1p511, -inf, 40000)
#endif