aboutsummaryrefslogtreecommitdiff
path: root/pl/math/v_sinh_3u.c
AgeCommit message (Collapse)Author
2023-01-06pl/math: Update copyright yearsJoe Ramsay
All files in pl/math updated to 2023.
2022-12-22pl/math: Fix fp exceptions in Neon sinhf and sinhJoe Ramsay
Both routines previously relied on the vector expm1(f) routine exposed by the library, which depended on WANT_SIMD_EXCEPT for its fenv behaviour, however both routines were expected to always trigger fp exceptions correctly. To remedy this, both routines now use an inlined helper for expm1 (reused from vector tanhf in the case of sinhf), and special-case small input as well as large when WANT_SIMD_EXCEPT is enabled.
2022-12-20Correct exit code from runulp.shJoe Ramsay
The pipe prevented FAILs and PASSs being counted properly - the while read loop has been rewritten without a pipe, as it was prior to the changes here. fenv checking is temporarily disabled in Neon sinh and sinhf, as they do not get it right. This will be re-enabled once they have been fixed.
2022-12-19pl/math: Replace WANT_ERRNO with WANT_SIMD_EXCEPT for Neon fenvJoe Ramsay
We were previously misusing the WANT_ERRNO build flag. This is now replaced everywhere appropriate with WANT_SIMD_EXCEPT. A small number of vector routines get fp exceptions right with no modification - the tests have been updated to track this.
2022-12-15pl/math: Move test intervals to routine source filesJoe Ramsay
To conclude the work on simplifying the runulp.sh script, a new macro has been introduced to specify the intervals in which a routine should be tested in the routine source. This is eventually consumed by runulp.sh.
2022-12-15pl/math: Move fenv expectations out of runulp.shJoe Ramsay
Introduces a new macro, similar to how ULP thresholds are now handled, that emits a list of routines which are expected to correctly trigger fenv exceptions, to be consumed by runulp.sh. All scalar routines are expected to do so. A small number of Neon routines are also expected to, dependent on WANT_ERRNO.
2022-12-15pl/math: Move ULP limits to routine source filesJoe Ramsay
Introduces a new set of macros and Make rules for mechanically generating a list of ULP limits for each routine, to be consumed by runulp.sh. This removes the need to maintain long lists of thresholds in runulp.sh.
2022-12-15pl/math: Auto-generate mathbench and ulp headersJoe Ramsay
Instead of maintaining three separate lists of routines, which are cumbersome and prone to merge conflicts, we provide a new macro, PL_SIG, which by some preprocessor machinery outputs the lists in the required format (macro formats have been changed very slightly to make the generation simpler). Only routines with simple signatures are handled - binary functions still need mathbench wrappers defined manually. As well, routines with non-standard references (i.e. powi/powk) still need entries and wrappers manually defined.
2022-11-17pl/math: Add scalar and vector/Neon sinhJoe Ramsay
New routines are based on the single-precision versions and are accurate to 3 ULP.