@@ -32,29 +32,54 @@ from dpnp.dparray cimport dparray, dparray_shape_type
32
32
cdef extern from " backend/backend_iface_fptr.hpp" namespace " DPNPFuncName" : # need this namespace for Enum import
33
33
cdef enum DPNPFuncName " DPNPFuncName" :
34
34
DPNP_FN_ADD
35
+ DPNP_FN_ARCCOS
36
+ DPNP_FN_ARCCOSH
37
+ DPNP_FN_ARCSIN
38
+ DPNP_FN_ARCSINH
39
+ DPNP_FN_ARCTAN
35
40
DPNP_FN_ARCTAN2
41
+ DPNP_FN_ARCTANH
36
42
DPNP_FN_ARGMAX
37
43
DPNP_FN_ARGMIN
38
44
DPNP_FN_ARGSORT
45
+ DPNP_FN_CBRT
39
46
DPNP_FN_CEIL
47
+ DPNP_FN_COS
48
+ DPNP_FN_COSH
40
49
DPNP_FN_COV
50
+ DPNP_FN_DEGREES
41
51
DPNP_FN_DIVIDE
42
52
DPNP_FN_DOT
43
53
DPNP_FN_EIG
54
+ DPNP_FN_EXP
55
+ DPNP_FN_EXP2
56
+ DPNP_FN_EXPM1
44
57
DPNP_FN_FABS
45
58
DPNP_FN_FLOOR
46
59
DPNP_FN_FMOD
47
60
DPNP_FN_HYPOT
61
+ DPNP_FN_LOG
62
+ DPNP_FN_LOG10
63
+ DPNP_FN_LOG1P
64
+ DPNP_FN_LOG2
48
65
DPNP_FN_MATMUL
49
66
DPNP_FN_MAXIMUM
50
67
DPNP_FN_MINIMUM
51
68
DPNP_FN_MULTIPLY
52
69
DPNP_FN_POWER
53
70
DPNP_FN_PROD
71
+ DPNP_FN_RADIANS
54
72
DPNP_FN_RAND
73
+ DPNP_FN_RECIP
55
74
DPNP_FN_SIGN
75
+ DPNP_FN_SIN
76
+ DPNP_FN_SINH
77
+ DPNP_FN_SQRT
78
+ DPNP_FN_SQUARE
56
79
DPNP_FN_SUBTRACT
57
80
DPNP_FN_SUM
81
+ DPNP_FN_TAN
82
+ DPNP_FN_TANH
58
83
DPNP_FN_TRUNC
59
84
60
85
cdef extern from " backend/backend_iface_fptr.hpp" namespace " DPNPFuncType" : # need this namespace for Enum import
@@ -93,33 +118,6 @@ cdef extern from "backend/backend_iface.hpp":
93
118
void mkl_blas_dot_c[_DataType](void * array1, void * array2, void * result1, size_t size)
94
119
void mkl_lapack_syevd_c[_DataType](void * array1, void * result1, size_t size)
95
120
96
- # Trigonometric part
97
- void custom_elemwise_acos_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
98
- void custom_elemwise_acosh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
99
- void custom_elemwise_asin_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
100
- void custom_elemwise_asinh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
101
- void custom_elemwise_atan_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
102
- void custom_elemwise_atanh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
103
- void custom_elemwise_cbrt_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
104
- void custom_elemwise_cos_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
105
- void custom_elemwise_cosh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
106
- void custom_elemwise_degrees_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
107
- void custom_elemwise_exp2_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
108
- void custom_elemwise_exp_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
109
- void custom_elemwise_expm1_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
110
- void custom_elemwise_log10_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
111
- void custom_elemwise_log1p_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
112
- void custom_elemwise_log2_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
113
- void custom_elemwise_log_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
114
- void custom_elemwise_radians_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
115
- void custom_elemwise_recip_c[_DataType](void * array1, void * result1, size_t size)
116
- void custom_elemwise_sin_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
117
- void custom_elemwise_sinh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
118
- void custom_elemwise_sqrt_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
119
- void custom_elemwise_square_c[_DataType](void * array1, void * result1, size_t size)
120
- void custom_elemwise_tan_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
121
- void custom_elemwise_tanh_c[_DataType_input, _DataType_output](void * array1, void * result1, size_t size)
122
-
123
121
# array manipulation routines
124
122
void custom_elemwise_transpose_c[_DataType](void * array1_in, dparray_shape_type & input_shape, dparray_shape_type & result_shape, dparray_shape_type & permute_axes, void * result1, size_t size)
125
123
@@ -139,6 +137,15 @@ cdef extern from "backend/backend_iface.hpp":
139
137
void custom_argmax_c[_DataType, _idx_DataType](void * array, void * result, size_t size)
140
138
void custom_argmin_c[_DataType, _idx_DataType](void * array, void * result, size_t size)
141
139
140
+
141
+ # C function pointer to the C library template functions
142
+ ctypedef void (* fptr_1in_1out_t)(void * , void * , size_t)
143
+ ctypedef void (* fptr_2in_1out_t)(void * , void * , void * , size_t)
144
+
145
+ cdef dparray call_fptr_1in_1out(DPNPFuncName fptr_name, dparray x1, dparray_shape_type result_shape)
146
+ cdef dparray call_fptr_2in_1out(DPNPFuncName fptr_name, dparray x1, dparray x2, dparray_shape_type result_shape)
147
+
148
+
142
149
cpdef dparray dpnp_remainder(dparray array1, int scalar)
143
150
cpdef dparray dpnp_astype(dparray array1, dtype_target)
144
151
@@ -223,3 +230,32 @@ Searching functions
223
230
"""
224
231
cpdef dparray dpnp_argmax(dparray array1)
225
232
cpdef dparray dpnp_argmin(dparray array1)
233
+
234
+ """
235
+ Trigonometric functions
236
+ """
237
+ cpdef dparray dpnp_arccos(dparray array1)
238
+ cpdef dparray dpnp_arccosh(dparray array1)
239
+ cpdef dparray dpnp_arcsin(dparray array1)
240
+ cpdef dparray dpnp_arcsinh(dparray array1)
241
+ cpdef dparray dpnp_arctan(dparray array1)
242
+ cpdef dparray dpnp_arctanh(dparray array1)
243
+ cpdef dparray dpnp_cbrt(dparray array1)
244
+ cpdef dparray dpnp_cos(dparray array1)
245
+ cpdef dparray dpnp_cosh(dparray array1)
246
+ cpdef dparray dpnp_degrees(dparray array1)
247
+ cpdef dparray dpnp_exp(dparray array1)
248
+ cpdef dparray dpnp_exp2(dparray array1)
249
+ cpdef dparray dpnp_expm1(dparray array1)
250
+ cpdef dparray dpnp_log(dparray array1)
251
+ cpdef dparray dpnp_log10(dparray array1)
252
+ cpdef dparray dpnp_log1p(dparray array1)
253
+ cpdef dparray dpnp_log2(dparray array1)
254
+ cpdef dparray dpnp_radians(dparray array1)
255
+ cpdef dparray dpnp_recip(dparray array1)
256
+ cpdef dparray dpnp_sin(dparray array1)
257
+ cpdef dparray dpnp_sinh(dparray array1)
258
+ cpdef dparray dpnp_sqrt(dparray array1)
259
+ cpdef dparray dpnp_square(dparray array1)
260
+ cpdef dparray dpnp_tan(dparray array1)
261
+ cpdef dparray dpnp_tanh(dparray array1)
0 commit comments