Skip to content

Commit a147598

Browse files
committed
Add real number tan, asin, acos, atan, atan2 naive implementation. Refs #4.
1 parent 792a6ea commit a147598

32 files changed

+1068
-2
lines changed

include/openvml.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,20 @@ OPENVML_EXPORT void OpenVML_FUNCNAME(vdCos)(const VML_INT n, const double * a, d
8888
OPENVML_EXPORT void OpenVML_FUNCNAME(vsSinCos)(const VML_INT n, const float * a, float * y, float * z);
8989
OPENVML_EXPORT void OpenVML_FUNCNAME(vdSinCos)(const VML_INT n, const double * a, double * y, double * z);
9090

91+
OPENVML_EXPORT void OpenVML_FUNCNAME(vsTan)(const VML_INT n, const float * a, float * y);
92+
OPENVML_EXPORT void OpenVML_FUNCNAME(vdTan)(const VML_INT n, const double * a, double * y);
93+
94+
OPENVML_EXPORT void OpenVML_FUNCNAME(vsAsin)(const VML_INT n, const float * a, float * y);
95+
OPENVML_EXPORT void OpenVML_FUNCNAME(vdAsin)(const VML_INT n, const double * a, double * y);
96+
97+
OPENVML_EXPORT void OpenVML_FUNCNAME(vsAcos)(const VML_INT n, const float * a, float * y);
98+
OPENVML_EXPORT void OpenVML_FUNCNAME(vdAcos)(const VML_INT n, const double * a, double * y);
99+
100+
OPENVML_EXPORT void OpenVML_FUNCNAME(vsAtan)(const VML_INT n, const float * a, float * y);
101+
OPENVML_EXPORT void OpenVML_FUNCNAME(vdAtan)(const VML_INT n, const double * a, double * y);
102+
103+
OPENVML_EXPORT void OpenVML_FUNCNAME(vsAtan2)(const VML_INT n, const float * a, const float * b, float * y);
104+
OPENVML_EXPORT void OpenVML_FUNCNAME(vdAtan2)(const VML_INT n, const double * a, const double * b, double * y);
91105

92106
#ifdef __cplusplus
93107
}

include/openvml_kernel.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,27 @@ void OpenVML_FUNCNAME(dsincos_k)(VMLLONG n, double * a, double * b, double * y,
106106
void OpenVML_FUNCNAME(csincos_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
107107
void OpenVML_FUNCNAME(zsincos_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
108108

109+
void OpenVML_FUNCNAME(stan_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
110+
void OpenVML_FUNCNAME(dtan_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
111+
void OpenVML_FUNCNAME(ctan_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
112+
void OpenVML_FUNCNAME(ztan_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
113+
114+
void OpenVML_FUNCNAME(sasin_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
115+
void OpenVML_FUNCNAME(dasin_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
116+
void OpenVML_FUNCNAME(casin_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
117+
void OpenVML_FUNCNAME(zasin_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
118+
119+
void OpenVML_FUNCNAME(sacos_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
120+
void OpenVML_FUNCNAME(dacos_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
121+
void OpenVML_FUNCNAME(cacos_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
122+
void OpenVML_FUNCNAME(zacos_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
123+
124+
void OpenVML_FUNCNAME(satan_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
125+
void OpenVML_FUNCNAME(datan_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
126+
void OpenVML_FUNCNAME(catan_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
127+
void OpenVML_FUNCNAME(zatan_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
128+
129+
void OpenVML_FUNCNAME(satan2_k)(VMLLONG n, float * a, float * b, float * y, float * z, float * other_params);
130+
void OpenVML_FUNCNAME(datan2_k)(VMLLONG n, double * a, double * b, double * y, double * z, double * other_params);
131+
109132
#endif

include/openvml_macros.h

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,21 @@
9595
#define SSINCOS_K OpenVML_FUNCNAME(ssincos_k)
9696
#define DSINCOS_K OpenVML_FUNCNAME(dsincos_k)
9797

98+
#define STAN_K OpenVML_FUNCNAME(stan_k)
99+
#define DTAN_K OpenVML_FUNCNAME(dtan_k)
100+
101+
#define SASIN_K OpenVML_FUNCNAME(sasin_k)
102+
#define DASIN_K OpenVML_FUNCNAME(dasin_k)
103+
104+
#define SACOS_K OpenVML_FUNCNAME(sacos_k)
105+
#define DACOS_K OpenVML_FUNCNAME(dacos_k)
106+
107+
#define SATAN_K OpenVML_FUNCNAME(satan_k)
108+
#define DATAN_K OpenVML_FUNCNAME(datan_k)
109+
110+
#define SATAN2_K OpenVML_FUNCNAME(satan2_k)
111+
#define DATAN2_K OpenVML_FUNCNAME(datan2_k)
112+
98113
#ifndef COMPLEX
99114
#ifndef DOUBLE
100115
#define ADD_K SADD_K
@@ -111,6 +126,11 @@
111126
#define SIN_K SSIN_K
112127
#define COS_K SCOS_K
113128
#define SINCOS_K SSINCOS_K
129+
#define TAN_K STAN_K
130+
#define ASIN_K SASIN_K
131+
#define ACOS_K SACOS_K
132+
#define ATAN_K SATAN_K
133+
#define ATAN2_K SATAN2_K
114134
#else
115135
#define ADD_K DADD_K
116136
#define SUB_K DSUB_K
@@ -126,6 +146,11 @@
126146
#define SIN_K DSIN_K
127147
#define COS_K DCOS_K
128148
#define SINCOS_K DSINCOS_K
149+
#define TAN_K DTAN_K
150+
#define ASIN_K DASIN_K
151+
#define ACOS_K DACOS_K
152+
#define ATAN_K DATAN_K
153+
#define ATAN2_K DATAN2_K
129154
#endif
130155
#else
131156
#ifndef DOUBLE
@@ -142,6 +167,10 @@
142167
#define SIN_K CSIN_K
143168
#define COS_K CCOS_K
144169
#define SINCOS_K CSINCOS_K
170+
#define TAN_K CTAN_K
171+
#define ASIN_K CASIN_K
172+
#define ACOS_K CACOS_K
173+
#define ATAN_K CATAN_K
145174
#else
146175
#define ADD_K ZADD_K
147176
#define SUB_K ZSUB_K
@@ -156,6 +185,10 @@
156185
#define SIN_K ZSIN_K
157186
#define COS_K ZCOS_K
158187
#define SINCOS_K ZSINCOS_K
188+
#define TAN_K ZTAN_K
189+
#define ASIN_K ZASIN_K
190+
#define ACOS_K ZACOS_K
191+
#define ATAN_K ZATAN_K
159192
#endif
160193
#endif
161194

include/openvml_reference.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,21 @@ OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdCos)(const VML_INT n, const double *
8989
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsSinCos)(const VML_INT n, const float * a, float * y, float * z);
9090
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdSinCos)(const VML_INT n, const double * a, double * y, double * z);
9191

92+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsTan)(const VML_INT n, const float * a, float * y);
93+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdTan)(const VML_INT n, const double * a, double * y);
94+
95+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsAsin)(const VML_INT n, const float * a, float * y);
96+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdAsin)(const VML_INT n, const double * a, double * y);
97+
98+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsAcos)(const VML_INT n, const float * a, float * y);
99+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdAcos)(const VML_INT n, const double * a, double * y);
100+
101+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsAtan)(const VML_INT n, const float * a, float * y);
102+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdAtan)(const VML_INT n, const double * a, double * y);
103+
104+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vsAtan2)(const VML_INT n, const float * a, const float * b, float * y);
105+
OPENVML_EXPORT void OpenVML_FUNCNAME_REF(vdAtan2)(const VML_INT n, const double * a, const double * b, double * y);
106+
92107
#ifdef __cplusplus
93108
}
94109
#endif

interface/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ set(REAL_INTERFACE_LIST
1111
tanh
1212
log10 ln log1p
1313
floor
14-
sin cos sinCos)
14+
sin cos sinCos tan asin acos atan atan2)
1515
set(COMPLEX_INTERFACE_LIST add sub)
1616

1717
function(cap_string var_name var_name_cap)

interface/acos.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* * Copyright (c) 2014, 2015 Zhang Xianyi
2+
* All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without modification,
5+
* are permitted provided that the following conditions are met:
6+
*
7+
* * Redistributions of source code must retain the above copyright notice, this
8+
* list of conditions and the following disclaimer.
9+
*
10+
* * Redistributions in binary form must reproduce the above copyright notice, this
11+
* list of conditions and the following disclaimer in the documentation and/or
12+
* other materials provided with the distribution.
13+
*
14+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#include <openvml.h>
27+
#include <openvml_driver.h>
28+
#include <openvml_kernel.h>
29+
30+
31+
void CNAME(const VML_INT n, const VML_FLOAT * a, VML_FLOAT * y) {
32+
33+
if (n<=0) return;
34+
if (a==NULL || y==NULL) return;
35+
36+
37+
EXEC_VML(0, ACOS_K, n, (VML_FLOAT*)a, NULL, y, NULL, NULL);
38+
39+
}

interface/asin.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* * Copyright (c) 2014, 2015 Zhang Xianyi
2+
* All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without modification,
5+
* are permitted provided that the following conditions are met:
6+
*
7+
* * Redistributions of source code must retain the above copyright notice, this
8+
* list of conditions and the following disclaimer.
9+
*
10+
* * Redistributions in binary form must reproduce the above copyright notice, this
11+
* list of conditions and the following disclaimer in the documentation and/or
12+
* other materials provided with the distribution.
13+
*
14+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#include <openvml.h>
27+
#include <openvml_driver.h>
28+
#include <openvml_kernel.h>
29+
30+
31+
void CNAME(const VML_INT n, const VML_FLOAT * a, VML_FLOAT * y) {
32+
33+
if (n<=0) return;
34+
if (a==NULL || y==NULL) return;
35+
36+
37+
EXEC_VML(0, ASIN_K, n, (VML_FLOAT*)a, NULL, y, NULL, NULL);
38+
39+
}

interface/atan.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* * Copyright (c) 2014, 2015 Zhang Xianyi
2+
* All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without modification,
5+
* are permitted provided that the following conditions are met:
6+
*
7+
* * Redistributions of source code must retain the above copyright notice, this
8+
* list of conditions and the following disclaimer.
9+
*
10+
* * Redistributions in binary form must reproduce the above copyright notice, this
11+
* list of conditions and the following disclaimer in the documentation and/or
12+
* other materials provided with the distribution.
13+
*
14+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#include <openvml.h>
27+
#include <openvml_driver.h>
28+
#include <openvml_kernel.h>
29+
30+
31+
void CNAME(const VML_INT n, const VML_FLOAT * a, VML_FLOAT * y) {
32+
33+
if (n<=0) return;
34+
if (a==NULL || y==NULL) return;
35+
36+
37+
EXEC_VML(0, ATAN_K, n, (VML_FLOAT*)a, NULL, y, NULL, NULL);
38+
39+
}

interface/atan2.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* * Copyright (c) 2014, 2015 Zhang Xianyi
2+
* All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without modification,
5+
* are permitted provided that the following conditions are met:
6+
*
7+
* * Redistributions of source code must retain the above copyright notice, this
8+
* list of conditions and the following disclaimer.
9+
*
10+
* * Redistributions in binary form must reproduce the above copyright notice, this
11+
* list of conditions and the following disclaimer in the documentation and/or
12+
* other materials provided with the distribution.
13+
*
14+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#include <openvml.h>
27+
#include <openvml_driver.h>
28+
#include <openvml_kernel.h>
29+
30+
31+
void CNAME(const VML_INT n, const VML_FLOAT * a, const VML_FLOAT * b, VML_FLOAT * y) {
32+
33+
if (n<=0) return;
34+
if (a==NULL || b==NULL || y==NULL) return;
35+
36+
37+
EXEC_VML(0, ATAN2_K, n, (VML_FLOAT*)a, (VML_FLOAT*)b, y, NULL, NULL);
38+
39+
}

interface/tan.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* * Copyright (c) 2014, 2015 Zhang Xianyi
2+
* All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without modification,
5+
* are permitted provided that the following conditions are met:
6+
*
7+
* * Redistributions of source code must retain the above copyright notice, this
8+
* list of conditions and the following disclaimer.
9+
*
10+
* * Redistributions in binary form must reproduce the above copyright notice, this
11+
* list of conditions and the following disclaimer in the documentation and/or
12+
* other materials provided with the distribution.
13+
*
14+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#include <openvml.h>
27+
#include <openvml_driver.h>
28+
#include <openvml_kernel.h>
29+
30+
31+
void CNAME(const VML_INT n, const VML_FLOAT * a, VML_FLOAT * y) {
32+
33+
if (n<=0) return;
34+
if (a==NULL || y==NULL) return;
35+
36+
37+
EXEC_VML(0, TAN_K, n, (VML_FLOAT*)a, NULL, y, NULL, NULL);
38+
39+
}

kernel/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(OpenVML_LIBSRC_Z "")
88

99
#s,d
1010
set(KERNEL_LIST add sub pow powx exp expm1 tanh log10 ln log1p floor
11-
sin cos sincos)
11+
sin cos sincos tan asin acos atan atan2)
1212

1313
#c,z
1414
set(Z_KERNEL_LIST add sub)

kernel/aarch64/Kernel_generic.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,18 @@ set(cos_D_KERNEL_SOURCE generic/cos_kernel.c)
4343

4444
set(sincos_S_KERNEL_SOURCE generic/sincos_kernel.c)
4545
set(sincos_D_KERNEL_SOURCE generic/sincos_kernel.c)
46+
47+
set(tan_S_KERNEL_SOURCE generic/tan_kernel.c)
48+
set(tan_D_KERNEL_SOURCE generic/tan_kernel.c)
49+
50+
set(asin_S_KERNEL_SOURCE generic/asin_kernel.c)
51+
set(asin_D_KERNEL_SOURCE generic/asin_kernel.c)
52+
53+
set(acos_S_KERNEL_SOURCE generic/acos_kernel.c)
54+
set(acos_D_KERNEL_SOURCE generic/acos_kernel.c)
55+
56+
set(atan_S_KERNEL_SOURCE generic/atan_kernel.c)
57+
set(atan_D_KERNEL_SOURCE generic/atan_kernel.c)
58+
59+
set(atan2_S_KERNEL_SOURCE generic/atan2_kernel.c)
60+
set(atan2_D_KERNEL_SOURCE generic/atan2_kernel.c)

kernel/arm/Kernel_generic.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,18 @@ set(cos_D_KERNEL_SOURCE generic/cos_kernel.c)
4343

4444
set(sincos_S_KERNEL_SOURCE generic/sincos_kernel.c)
4545
set(sincos_D_KERNEL_SOURCE generic/sincos_kernel.c)
46+
47+
set(tan_S_KERNEL_SOURCE generic/tan_kernel.c)
48+
set(tan_D_KERNEL_SOURCE generic/tan_kernel.c)
49+
50+
set(asin_S_KERNEL_SOURCE generic/asin_kernel.c)
51+
set(asin_D_KERNEL_SOURCE generic/asin_kernel.c)
52+
53+
set(acos_S_KERNEL_SOURCE generic/acos_kernel.c)
54+
set(acos_D_KERNEL_SOURCE generic/acos_kernel.c)
55+
56+
set(atan_S_KERNEL_SOURCE generic/atan_kernel.c)
57+
set(atan_D_KERNEL_SOURCE generic/atan_kernel.c)
58+
59+
set(atan2_S_KERNEL_SOURCE generic/atan2_kernel.c)
60+
set(atan2_D_KERNEL_SOURCE generic/atan2_kernel.c)

0 commit comments

Comments
 (0)