• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Function wrappers for mathbench.
3  *
4  * Copyright (c) 2022, Arm Limited.
5  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6  */
7 #if WANT_VMATH
8 #if __aarch64__
9 
10 #ifdef __vpcs
11 __vpcs static v_float
xy__vn_powf(v_float x)12 xy__vn_powf (v_float x)
13 {
14   return __vn_powf (x, x);
15 }
16 
17 __vpcs static v_float
xy_Z_powf(v_float x)18 xy_Z_powf (v_float x)
19 {
20   return _ZGVnN4vv_powf (x, x);
21 }
22 
23 __vpcs static v_double
xy__vn_pow(v_double x)24 xy__vn_pow (v_double x)
25 {
26   return __vn_pow (x, x);
27 }
28 
29 __vpcs static v_double
xy_Z_pow(v_double x)30 xy_Z_pow (v_double x)
31 {
32   return _ZGVnN2vv_pow (x, x);
33 }
34 #endif // __vpcs
35 
36 static v_float
xy__v_powf(v_float x)37 xy__v_powf (v_float x)
38 {
39   return __v_powf (x, x);
40 }
41 
42 static v_double
xy__v_pow(v_double x)43 xy__v_pow (v_double x)
44 {
45   return __v_pow (x, x);
46 }
47 #endif // __aarch64__
48 
49 static float
xy__s_powf(float x)50 xy__s_powf (float x)
51 {
52   return __s_powf (x, x);
53 }
54 
55 static double
xy__s_pow(double x)56 xy__s_pow (double x)
57 {
58   return __s_pow (x, x);
59 }
60 #endif // WANT_VMATH
61 
62 static double
xypow(double x)63 xypow (double x)
64 {
65   return pow (x, x);
66 }
67 
68 static float
xypowf(float x)69 xypowf (float x)
70 {
71   return powf (x, x);
72 }
73 
74 static double
xpow(double x)75 xpow (double x)
76 {
77   return pow (x, 23.4);
78 }
79 
80 static float
xpowf(float x)81 xpowf (float x)
82 {
83   return powf (x, 23.4f);
84 }
85 
86 static double
ypow(double x)87 ypow (double x)
88 {
89   return pow (2.34, x);
90 }
91 
92 static float
ypowf(float x)93 ypowf (float x)
94 {
95   return powf (2.34f, x);
96 }
97 
98 static float
sincosf_wrap(float x)99 sincosf_wrap (float x)
100 {
101   float s, c;
102   sincosf (x, &s, &c);
103   return s + c;
104 }
105