xref: /aosp_15_r20/external/arm-optimized-routines/math/test/mathbench_funcs.h (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li /*
2*412f47f9SXin Li  * Function entries for mathbench.
3*412f47f9SXin Li  *
4*412f47f9SXin Li  * Copyright (c) 2022-2024, Arm Limited.
5*412f47f9SXin Li  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*412f47f9SXin Li  */
7*412f47f9SXin Li /* clang-format off */
8*412f47f9SXin Li D (exp, -9.9, 9.9)
9*412f47f9SXin Li D (exp, 0.5, 1.0)
10*412f47f9SXin Li #if WANT_EXP10_TESTS
11*412f47f9SXin Li D (exp10, -9.9, 9.9)
12*412f47f9SXin Li #endif
13*412f47f9SXin Li D (exp2, -9.9, 9.9)
14*412f47f9SXin Li D (log, 0.01, 11.1)
15*412f47f9SXin Li D (log, 0.999, 1.001)
16*412f47f9SXin Li D (log2, 0.01, 11.1)
17*412f47f9SXin Li D (log2, 0.999, 1.001)
18*412f47f9SXin Li {"pow", 'd', 0, 0.01, 11.1, {.d = xypow}},
19*412f47f9SXin Li D (xpow, 0.01, 11.1)
20*412f47f9SXin Li D (ypow, -9.9, 9.9)
21*412f47f9SXin Li D (erf, -6.0, 6.0)
22*412f47f9SXin Li 
23*412f47f9SXin Li F (expf, -9.9, 9.9)
24*412f47f9SXin Li F (exp2f, -9.9, 9.9)
25*412f47f9SXin Li F (logf, 0.01, 11.1)
26*412f47f9SXin Li F (log2f, 0.01, 11.1)
27*412f47f9SXin Li {"powf", 'f', 0, 0.01, 11.1, {.f = xypowf}},
28*412f47f9SXin Li F (xpowf, 0.01, 11.1)
29*412f47f9SXin Li F (ypowf, -9.9, 9.9)
30*412f47f9SXin Li {"sincosf", 'f', 0, 0.1, 0.7, {.f = sincosf_wrap}},
31*412f47f9SXin Li {"sincosf", 'f', 0, 0.8, 3.1, {.f = sincosf_wrap}},
32*412f47f9SXin Li {"sincosf", 'f', 0, -3.1, 3.1, {.f = sincosf_wrap}},
33*412f47f9SXin Li {"sincosf", 'f', 0, 3.3, 33.3, {.f = sincosf_wrap}},
34*412f47f9SXin Li {"sincosf", 'f', 0, 100, 1000, {.f = sincosf_wrap}},
35*412f47f9SXin Li {"sincosf", 'f', 0, 1e6, 1e32, {.f = sincosf_wrap}},
36*412f47f9SXin Li F (sinf, 0.1, 0.7)
37*412f47f9SXin Li F (sinf, 0.8, 3.1)
38*412f47f9SXin Li F (sinf, -3.1, 3.1)
39*412f47f9SXin Li F (sinf, 3.3, 33.3)
40*412f47f9SXin Li F (sinf, 100, 1000)
41*412f47f9SXin Li F (sinf, 1e6, 1e32)
42*412f47f9SXin Li F (cosf, 0.1, 0.7)
43*412f47f9SXin Li F (cosf, 0.8, 3.1)
44*412f47f9SXin Li F (cosf, -3.1, 3.1)
45*412f47f9SXin Li F (cosf, 3.3, 33.3)
46*412f47f9SXin Li F (cosf, 100, 1000)
47*412f47f9SXin Li F (cosf, 1e6, 1e32)
48*412f47f9SXin Li F (erff, -4.0, 4.0)
49*412f47f9SXin Li #if WANT_SIMD_TESTS && defined (__vpcs)
50*412f47f9SXin Li VND (_ZGVnN2v_exp, -9.9, 9.9)
51*412f47f9SXin Li VND (_ZGVnN2v_log, 0.01, 11.1)
52*412f47f9SXin Li {"_ZGVnN2vv_pow", 'd', 'n', 0.01, 11.1, {.vnd = xy_Z_pow}},
53*412f47f9SXin Li VND (_ZGVnN2v_sin, -3.1, 3.1)
54*412f47f9SXin Li VND (_ZGVnN2v_cos, -3.1, 3.1)
55*412f47f9SXin Li VNF (_ZGVnN4v_expf, -9.9, 9.9)
56*412f47f9SXin Li VNF (_ZGVnN4v_expf_1u, -9.9, 9.9)
57*412f47f9SXin Li VNF (_ZGVnN4v_exp2f, -9.9, 9.9)
58*412f47f9SXin Li VNF (_ZGVnN4v_exp2f_1u, -9.9, 9.9)
59*412f47f9SXin Li VNF (_ZGVnN4v_logf, 0.01, 11.1)
60*412f47f9SXin Li {"_ZGVnN4vv_powf",  'f', 'n',   0.01, 11.1, {.vnf = xy_Z_powf}},
61*412f47f9SXin Li {"x_ZGVnN4vv_powf", 'f', 'n',   0.01, 11.1, {.vnf = x_Z_powf}},
62*412f47f9SXin Li {"y_ZGVnN4vv_powf", 'f', 'n', -10.0,  10.0, {.vnf = y_Z_powf}},
63*412f47f9SXin Li VNF (_ZGVnN4v_sinf, -3.1, 3.1)
64*412f47f9SXin Li VNF (_ZGVnN4v_cosf, -3.1, 3.1)
65*412f47f9SXin Li #endif
66*412f47f9SXin Li     /* clang-format on */
67