xref: /freebsd-src/contrib/arm-optimized-routines/math/test/ulp_funcs.h (revision 072a4ba82a01476eaee33781ccd241033eefcf0b)
1*072a4ba8SAndrew Turner /*
2*072a4ba8SAndrew Turner  * Function entries for ulp.
3*072a4ba8SAndrew Turner  *
4*072a4ba8SAndrew Turner  * Copyright (c) 2022, Arm Limited.
5*072a4ba8SAndrew Turner  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*072a4ba8SAndrew Turner  */
7*072a4ba8SAndrew Turner  F1 (sin)
8*072a4ba8SAndrew Turner  F1 (cos)
9*072a4ba8SAndrew Turner  F (sincosf_sinf, sincosf_sinf, sincos_sin, sincos_mpfr_sin, 1, 1, f1, 0)
10*072a4ba8SAndrew Turner  F (sincosf_cosf, sincosf_cosf, sincos_cos, sincos_mpfr_cos, 1, 1, f1, 0)
11*072a4ba8SAndrew Turner  F1 (exp)
12*072a4ba8SAndrew Turner  F1 (exp2)
13*072a4ba8SAndrew Turner  F1 (log)
14*072a4ba8SAndrew Turner  F1 (log2)
15*072a4ba8SAndrew Turner  F2 (pow)
16*072a4ba8SAndrew Turner  F1 (erf)
17*072a4ba8SAndrew Turner  D1 (exp)
18*072a4ba8SAndrew Turner  D1 (exp2)
19*072a4ba8SAndrew Turner  D1 (log)
20*072a4ba8SAndrew Turner  D1 (log2)
21*072a4ba8SAndrew Turner  D2 (pow)
22*072a4ba8SAndrew Turner  D1 (erf)
23*072a4ba8SAndrew Turner #if WANT_VMATH
24*072a4ba8SAndrew Turner  F (__s_sinf, __s_sinf, sin, mpfr_sin, 1, 1, f1, 0)
25*072a4ba8SAndrew Turner  F (__s_cosf, __s_cosf, cos, mpfr_cos, 1, 1, f1, 0)
26*072a4ba8SAndrew Turner  F (__s_expf_1u, __s_expf_1u, exp, mpfr_exp, 1, 1, f1, 0)
27*072a4ba8SAndrew Turner  F (__s_expf, __s_expf, exp, mpfr_exp, 1, 1, f1, 0)
28*072a4ba8SAndrew Turner  F (__s_exp2f_1u, __s_exp2f_1u, exp2, mpfr_exp2, 1, 1, f1, 0)
29*072a4ba8SAndrew Turner  F (__s_exp2f, __s_exp2f, exp2, mpfr_exp2, 1, 1, f1, 0)
30*072a4ba8SAndrew Turner  F (__s_powf, __s_powf, pow, mpfr_pow, 2, 1, f2, 0)
31*072a4ba8SAndrew Turner  F (__s_logf, __s_logf, log, mpfr_log, 1, 1, f1, 0)
32*072a4ba8SAndrew Turner  F (__s_sin, __s_sin, sinl, mpfr_sin, 1, 0, d1, 0)
33*072a4ba8SAndrew Turner  F (__s_cos, __s_cos, cosl, mpfr_cos, 1, 0, d1, 0)
34*072a4ba8SAndrew Turner  F (__s_exp, __s_exp, expl, mpfr_exp, 1, 0, d1, 0)
35*072a4ba8SAndrew Turner  F (__s_log, __s_log, logl, mpfr_log, 1, 0, d1, 0)
36*072a4ba8SAndrew Turner  F (__s_pow, __s_pow, powl, mpfr_pow, 2, 0, d2, 0)
37*072a4ba8SAndrew Turner #if __aarch64__
38*072a4ba8SAndrew Turner  F (__v_sinf, v_sinf, sin, mpfr_sin, 1, 1, f1, 1)
39*072a4ba8SAndrew Turner  F (__v_cosf, v_cosf, cos, mpfr_cos, 1, 1, f1, 1)
40*072a4ba8SAndrew Turner  F (__v_expf_1u, v_expf_1u, exp, mpfr_exp, 1, 1, f1, 1)
41*072a4ba8SAndrew Turner  F (__v_expf, v_expf, exp, mpfr_exp, 1, 1, f1, 1)
42*072a4ba8SAndrew Turner  F (__v_exp2f_1u, v_exp2f_1u, exp2, mpfr_exp2, 1, 1, f1, 1)
43*072a4ba8SAndrew Turner  F (__v_exp2f, v_exp2f, exp2, mpfr_exp2, 1, 1, f1, 1)
44*072a4ba8SAndrew Turner  F (__v_logf, v_logf, log, mpfr_log, 1, 1, f1, 1)
45*072a4ba8SAndrew Turner  F (__v_powf, v_powf, pow, mpfr_pow, 2, 1, f2, 1)
46*072a4ba8SAndrew Turner  F (__v_sin, v_sin, sinl, mpfr_sin, 1, 0, d1, 1)
47*072a4ba8SAndrew Turner  F (__v_cos, v_cos, cosl, mpfr_cos, 1, 0, d1, 1)
48*072a4ba8SAndrew Turner  F (__v_exp, v_exp, expl, mpfr_exp, 1, 0, d1, 1)
49*072a4ba8SAndrew Turner  F (__v_log, v_log, logl, mpfr_log, 1, 0, d1, 1)
50*072a4ba8SAndrew Turner  F (__v_pow, v_pow, powl, mpfr_pow, 2, 0, d2, 1)
51*072a4ba8SAndrew Turner #ifdef __vpcs
52*072a4ba8SAndrew Turner  F (__vn_sinf, vn_sinf, sin, mpfr_sin, 1, 1, f1, 1)
53*072a4ba8SAndrew Turner  F (__vn_cosf, vn_cosf, cos, mpfr_cos, 1, 1, f1, 1)
54*072a4ba8SAndrew Turner  F (__vn_expf_1u, vn_expf_1u, exp, mpfr_exp, 1, 1, f1, 1)
55*072a4ba8SAndrew Turner  F (__vn_expf, vn_expf, exp, mpfr_exp, 1, 1, f1, 1)
56*072a4ba8SAndrew Turner  F (__vn_exp2f_1u, vn_exp2f_1u, exp2, mpfr_exp2, 1, 1, f1, 1)
57*072a4ba8SAndrew Turner  F (__vn_exp2f, vn_exp2f, exp2, mpfr_exp2, 1, 1, f1, 1)
58*072a4ba8SAndrew Turner  F (__vn_logf, vn_logf, log, mpfr_log, 1, 1, f1, 1)
59*072a4ba8SAndrew Turner  F (__vn_powf, vn_powf, pow, mpfr_pow, 2, 1, f2, 1)
60*072a4ba8SAndrew Turner  F (__vn_sin, vn_sin, sinl, mpfr_sin, 1, 0, d1, 1)
61*072a4ba8SAndrew Turner  F (__vn_cos, vn_cos, cosl, mpfr_cos, 1, 0, d1, 1)
62*072a4ba8SAndrew Turner  F (__vn_exp, vn_exp, expl, mpfr_exp, 1, 0, d1, 1)
63*072a4ba8SAndrew Turner  F (__vn_log, vn_log, logl, mpfr_log, 1, 0, d1, 1)
64*072a4ba8SAndrew Turner  F (__vn_pow, vn_pow, powl, mpfr_pow, 2, 0, d2, 1)
65*072a4ba8SAndrew Turner  F (_ZGVnN4v_sinf, Z_sinf, sin, mpfr_sin, 1, 1, f1, 1)
66*072a4ba8SAndrew Turner  F (_ZGVnN4v_cosf, Z_cosf, cos, mpfr_cos, 1, 1, f1, 1)
67*072a4ba8SAndrew Turner  F (_ZGVnN4v_expf, Z_expf, exp, mpfr_exp, 1, 1, f1, 1)
68*072a4ba8SAndrew Turner  F (_ZGVnN4v_exp2f, Z_exp2f, exp2, mpfr_exp2, 1, 1, f1, 1)
69*072a4ba8SAndrew Turner  F (_ZGVnN4v_logf, Z_logf, log, mpfr_log, 1, 1, f1, 1)
70*072a4ba8SAndrew Turner  F (_ZGVnN4vv_powf, Z_powf, pow, mpfr_pow, 2, 1, f2, 1)
71*072a4ba8SAndrew Turner  F (_ZGVnN2v_sin, Z_sin, sinl, mpfr_sin, 1, 0, d1, 1)
72*072a4ba8SAndrew Turner  F (_ZGVnN2v_cos, Z_cos, cosl, mpfr_cos, 1, 0, d1, 1)
73*072a4ba8SAndrew Turner  F (_ZGVnN2v_exp, Z_exp, expl, mpfr_exp, 1, 0, d1, 1)
74*072a4ba8SAndrew Turner  F (_ZGVnN2v_log, Z_log, logl, mpfr_log, 1, 0, d1, 1)
75*072a4ba8SAndrew Turner  F (_ZGVnN2vv_pow, Z_pow, powl, mpfr_pow, 2, 0, d2, 1)
76*072a4ba8SAndrew Turner #endif
77*072a4ba8SAndrew Turner #endif
78*072a4ba8SAndrew Turner #endif
79