Skip to content

Commit 5b5dd80

Browse files
authored
move 1param functions to descriptor usage (#751)
* move 1param functions to descriptor usage * use call_origin in old code
1 parent 1748358 commit 5b5dd80

16 files changed

+243
-308
lines changed

dpnp/dpnp_algo/dpnp_algo.pxd

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
from libcpp.vector cimport vector
2929
from libcpp cimport bool as cpp_bool
3030
from dpnp.dparray cimport dparray, dparray_shape_type
31+
from dpnp.dpnp_utils.dpnp_algo_utils cimport dpnp_descriptor
32+
3133

3234
cdef extern from "dpnp_iface_fptr.hpp" namespace "DPNPFuncName": # need this namespace for Enum import
3335
cdef enum DPNPFuncName "DPNPFuncName":
@@ -245,7 +247,7 @@ Bitwise functions
245247
cpdef dparray dpnp_bitwise_and(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
246248
cpdef dparray dpnp_bitwise_or(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
247249
cpdef dparray dpnp_bitwise_xor(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
248-
cpdef dparray dpnp_invert(dparray arr)
250+
cpdef dparray dpnp_invert(dpnp_descriptor x1)
249251
cpdef dparray dpnp_left_shift(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
250252
cpdef dparray dpnp_right_shift(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
251253

@@ -286,16 +288,14 @@ Mathematical functions
286288
"""
287289
cpdef dparray dpnp_add(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
288290
cpdef dparray dpnp_arctan2(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
289-
cpdef dparray dpnp_cos(dparray array1)
290291
cpdef dparray dpnp_divide(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
291292
cpdef dparray dpnp_hypot(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
292293
cpdef dparray dpnp_maximum(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
293294
cpdef dparray dpnp_minimum(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
294295
cpdef dparray dpnp_multiply(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
295-
cpdef dparray dpnp_negative(dparray array1)
296+
cpdef dparray dpnp_negative(dpnp_descriptor array1)
296297
cpdef dparray dpnp_power(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
297298
cpdef dparray dpnp_remainder(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
298-
cpdef dparray dpnp_sin(dparray array1)
299299
cpdef dparray dpnp_subtract(object x1_obj, object x2_obj, object dtype=*, dparray out=*, object where=*)
300300

301301

@@ -317,8 +317,8 @@ cpdef dparray dpnp_min(dparray a, axis)
317317
"""
318318
Sorting functions
319319
"""
320-
cpdef dparray dpnp_argsort(dparray array1)
321-
cpdef dparray dpnp_sort(dparray array1)
320+
cpdef dparray dpnp_argsort(dpnp_descriptor array1)
321+
cpdef dparray dpnp_sort(dpnp_descriptor array1)
322322

323323
"""
324324
Searching functions
@@ -329,28 +329,28 @@ cpdef dparray dpnp_argmin(dparray array1)
329329
"""
330330
Trigonometric functions
331331
"""
332-
cpdef dparray dpnp_arccos(dparray array1)
333-
cpdef dparray dpnp_arccosh(dparray array1)
334-
cpdef dparray dpnp_arcsin(dparray array1)
335-
cpdef dparray dpnp_arcsinh(dparray array1)
336-
cpdef dparray dpnp_arctan(dparray array1)
337-
cpdef dparray dpnp_arctanh(dparray array1)
338-
cpdef dparray dpnp_cbrt(dparray array1)
339-
cpdef dparray dpnp_cos(dparray array1)
340-
cpdef dparray dpnp_cosh(dparray array1)
341-
cpdef dparray dpnp_degrees(dparray array1)
342-
cpdef dparray dpnp_exp(dparray array1)
343-
cpdef dparray dpnp_exp2(dparray array1)
344-
cpdef dparray dpnp_expm1(dparray array1)
345-
cpdef dparray dpnp_log(dparray array1)
346-
cpdef dparray dpnp_log10(dparray array1)
347-
cpdef dparray dpnp_log1p(dparray array1)
348-
cpdef dparray dpnp_log2(dparray array1)
349-
cpdef dparray dpnp_radians(dparray array1)
350-
cpdef dparray dpnp_recip(dparray array1)
351-
cpdef dparray dpnp_sin(dparray array1)
352-
cpdef dparray dpnp_sinh(dparray array1)
353-
cpdef dparray dpnp_sqrt(dparray array1)
354-
cpdef dparray dpnp_square(dparray array1)
355-
cpdef dparray dpnp_tan(dparray array1)
356-
cpdef dparray dpnp_tanh(dparray array1)
332+
cpdef dparray dpnp_arccos(dpnp_descriptor array1)
333+
cpdef dparray dpnp_arccosh(dpnp_descriptor array1)
334+
cpdef dparray dpnp_arcsin(dpnp_descriptor array1)
335+
cpdef dparray dpnp_arcsinh(dpnp_descriptor array1)
336+
cpdef dparray dpnp_arctan(dpnp_descriptor array1)
337+
cpdef dparray dpnp_arctanh(dpnp_descriptor array1)
338+
cpdef dparray dpnp_cbrt(dpnp_descriptor array1)
339+
cpdef dparray dpnp_cos(dpnp_descriptor array1)
340+
cpdef dparray dpnp_cosh(dpnp_descriptor array1)
341+
cpdef dparray dpnp_degrees(dpnp_descriptor array1)
342+
cpdef dparray dpnp_exp(dpnp_descriptor array1)
343+
cpdef dparray dpnp_exp2(dpnp_descriptor array1)
344+
cpdef dparray dpnp_expm1(dpnp_descriptor array1)
345+
cpdef dparray dpnp_log(dpnp_descriptor array1)
346+
cpdef dparray dpnp_log10(dpnp_descriptor array1)
347+
cpdef dparray dpnp_log1p(dpnp_descriptor array1)
348+
cpdef dparray dpnp_log2(dpnp_descriptor array1)
349+
cpdef dparray dpnp_radians(dpnp_descriptor array1)
350+
cpdef dparray dpnp_recip(dpnp_descriptor array1)
351+
cpdef dparray dpnp_sin(dpnp_descriptor array1, dparray out=*)
352+
cpdef dparray dpnp_sinh(dpnp_descriptor array1)
353+
cpdef dparray dpnp_sqrt(dpnp_descriptor array1)
354+
cpdef dparray dpnp_square(dpnp_descriptor array1)
355+
cpdef dparray dpnp_tan(dpnp_descriptor array1)
356+
cpdef dparray dpnp_tanh(dpnp_descriptor array1)

dpnp/dpnp_algo/dpnp_algo.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ cdef dparray call_fptr_1out(DPNPFuncName fptr_name, dparray_shape_type result_sh
258258
return result
259259

260260

261-
cdef dparray call_fptr_1in_1out(DPNPFuncName fptr_name, dparray x1, dparray_shape_type result_shape):
261+
cdef dparray call_fptr_1in_1out(DPNPFuncName fptr_name, utils.dpnp_descriptor x1, dparray_shape_type result_shape):
262262

263263
""" Convert string type names (dparray.dtype) to C enum DPNPFuncType """
264264
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(x1.dtype)

dpnp/dpnp_algo/dpnp_algo_arraycreation.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ ctypedef void(*custom_indexing_1out_func_ptr_t)(void * , const size_t , const si
6262
ctypedef void(*fptr_dpnp_trace_t)(const void *, void * , const size_t * , const size_t)
6363

6464

65-
cpdef dparray dpnp_copy(dparray x1, order, subok):
65+
cpdef dparray dpnp_copy(utils.dpnp_descriptor x1, order, subok):
6666
return call_fptr_1in_1out(DPNP_FN_COPY, x1, x1.shape)
6767

6868

dpnp/dpnp_algo/dpnp_algo_bitwise.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ cpdef dparray dpnp_bitwise_xor(object x1_obj, object x2_obj, object dtype=None,
5656
return call_fptr_2in_1out(DPNP_FN_BITWISE_XOR, x1_obj, x2_obj, dtype=dtype, out=out, where=where)
5757

5858

59-
cpdef dparray dpnp_invert(dparray arr):
59+
cpdef dparray dpnp_invert(dpnp_descriptor arr):
6060
return call_fptr_1in_1out(DPNP_FN_INVERT, arr, arr.shape)
6161

6262

dpnp/dpnp_algo/dpnp_algo_mathematical.pyx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ cpdef dpnp_around(dparray x1, int decimals):
126126
return result
127127

128128

129-
cpdef dparray dpnp_ceil(dparray x1):
129+
cpdef dparray dpnp_ceil(utils.dpnp_descriptor x1):
130130
return call_fptr_1in_1out(DPNP_FN_CEIL, x1, x1.shape)
131131

132132

133-
cpdef dparray dpnp_conjugate(dparray x1):
133+
cpdef dparray dpnp_conjugate(utils.dpnp_descriptor x1):
134134
return call_fptr_1in_1out(DPNP_FN_CONJIGUATE, x1, x1.shape)
135135

136136

@@ -142,7 +142,7 @@ cpdef dparray dpnp_cross(object x1_obj, object x2_obj, object dtype=None, dparra
142142
return call_fptr_2in_1out(DPNP_FN_CROSS, x1_obj, x2_obj, dtype=dtype, out=out, where=where)
143143

144144

145-
cpdef dparray dpnp_cumprod(dparray x1):
145+
cpdef dparray dpnp_cumprod(utils.dpnp_descriptor x1):
146146
# instead of x1.shape, (x1.size, ) is passed to the function
147147
# due to the following:
148148
# >>> import numpy
@@ -154,7 +154,7 @@ cpdef dparray dpnp_cumprod(dparray x1):
154154
return call_fptr_1in_1out(DPNP_FN_CUMPROD, x1, (x1.size,))
155155

156156

157-
cpdef dparray dpnp_cumsum(dparray x1):
157+
cpdef dparray dpnp_cumsum(utils.dpnp_descriptor x1):
158158
# instead of x1.shape, (x1.size, ) is passed to the function
159159
# due to the following:
160160
# >>> import numpy
@@ -197,19 +197,19 @@ cpdef dparray dpnp_divide(object x1_obj, object x2_obj, object dtype=None, dparr
197197
return call_fptr_2in_1out(DPNP_FN_DIVIDE, x1_obj, x2_obj, dtype=dtype, out=out, where=where)
198198

199199

200-
cpdef dparray dpnp_ediff1d(dparray x1):
200+
cpdef dparray dpnp_ediff1d(utils.dpnp_descriptor x1):
201201

202202
if x1.size <= 1:
203203
return dpnp.empty(0, dtype=x1.dtype)
204204

205205
return call_fptr_1in_1out(DPNP_FN_EDIFF1D, x1, (x1.size - 1,))
206206

207207

208-
cpdef dparray dpnp_fabs(dparray x1):
208+
cpdef dparray dpnp_fabs(utils.dpnp_descriptor x1):
209209
return call_fptr_1in_1out(DPNP_FN_FABS, x1, x1.shape)
210210

211211

212-
cpdef dparray dpnp_floor(dparray x1):
212+
cpdef dparray dpnp_floor(utils.dpnp_descriptor x1):
213213
return call_fptr_1in_1out(DPNP_FN_FLOOR, x1, x1.shape)
214214

215215

@@ -285,7 +285,8 @@ cpdef dparray dpnp_nancumprod(dparray x1):
285285
if dpnp.isnan(cur_x1[i]):
286286
cur_x1._setitem_scalar(i, 1)
287287

288-
return dpnp_cumprod(cur_x1)
288+
x1_desc = dpnp.get_dpnp_descriptor(cur_x1)
289+
return dpnp_cumprod(x1_desc)
289290

290291

291292
cpdef dparray dpnp_nancumsum(dparray x1):
@@ -296,7 +297,8 @@ cpdef dparray dpnp_nancumsum(dparray x1):
296297
if dpnp.isnan(cur_x1[i]):
297298
cur_x1._setitem_scalar(i, 0)
298299

299-
return dpnp_cumsum(cur_x1)
300+
x1_desc = dpnp.get_dpnp_descriptor(cur_x1)
301+
return dpnp_cumsum(x1_desc)
300302

301303

302304
cpdef dpnp_nanprod(dparray x1):
@@ -330,8 +332,8 @@ cpdef dpnp_nansum(dparray x1):
330332
return x1.dtype.type(sum_result[0])
331333

332334

333-
cpdef dparray dpnp_negative(dparray array1):
334-
return call_fptr_1in_1out(DPNP_FN_NEGATIVE, array1, array1.shape)
335+
cpdef dparray dpnp_negative(dpnp_descriptor x1):
336+
return call_fptr_1in_1out(DPNP_FN_NEGATIVE, x1, x1.shape)
335337

336338

337339
cpdef dparray dpnp_power(object x1_obj, object x2_obj, object dtype=None, dparray out=None, object where=True):
@@ -374,7 +376,7 @@ cpdef dparray dpnp_remainder(object x1_obj, object x2_obj, object dtype=None, dp
374376
return call_fptr_2in_1out(DPNP_FN_REMAINDER, x1_obj, x2_obj, dtype=dtype, out=out, where=where)
375377

376378

377-
cpdef dparray dpnp_sign(dparray x1):
379+
cpdef dparray dpnp_sign(utils.dpnp_descriptor x1):
378380
return call_fptr_1in_1out(DPNP_FN_SIGN, x1, x1.shape)
379381

380382

@@ -421,5 +423,5 @@ cpdef dpnp_trapz(dparray y1, dparray x1, double dx):
421423
return result[0]
422424

423425

424-
cpdef dparray dpnp_trunc(dparray x1):
426+
cpdef dparray dpnp_trunc(utils.dpnp_descriptor x1):
425427
return call_fptr_1in_1out(DPNP_FN_TRUNC, x1, x1.shape)

dpnp/dpnp_algo/dpnp_algo_sorting.pyx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ ctypedef void(*fptr_dpnp_partition_t)(void * , void * , void * , const size_t ,
4646
ctypedef void(*fptr_dpnp_searchsorted_t)(void * , const void * , const void * , bool , const size_t , const size_t )
4747

4848

49-
cpdef dparray dpnp_argsort(dparray in_array1):
50-
return call_fptr_1in_1out(DPNP_FN_ARGSORT, in_array1, in_array1.shape)
49+
cpdef dparray dpnp_argsort(utils.dpnp_descriptor x1):
50+
return call_fptr_1in_1out(DPNP_FN_ARGSORT, x1, x1.shape)
5151

5252

5353
cpdef dparray dpnp_partition(dparray arr, int kth, axis=-1, kind='introselect', order=None):
@@ -86,5 +86,5 @@ cpdef dparray dpnp_searchsorted(dparray arr, dparray v, side='left'):
8686
return result
8787

8888

89-
cpdef dparray dpnp_sort(dparray in_array1):
90-
return call_fptr_1in_1out(DPNP_FN_SORT, in_array1, in_array1.shape)
89+
cpdef dparray dpnp_sort(utils.dpnp_descriptor x1):
90+
return call_fptr_1in_1out(DPNP_FN_SORT, x1, x1.shape)

dpnp/dpnp_algo/dpnp_algo_special.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ __all__ += [
3939
]
4040

4141

42-
cpdef dparray dpnp_erf(dparray x1):
42+
cpdef dparray dpnp_erf(utils.dpnp_descriptor x1):
4343
return call_fptr_1in_1out(DPNP_FN_ERF, x1, x1.shape)

dpnp/dpnp_algo/dpnp_algo_trigonometric.pyx

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,83 +64,83 @@ __all__ += [
6464
]
6565

6666

67-
cpdef dparray dpnp_arccos(dparray x1):
67+
cpdef dparray dpnp_arccos(utils.dpnp_descriptor x1):
6868
return call_fptr_1in_1out(DPNP_FN_ARCCOS, x1, x1.shape)
6969

7070

71-
cpdef dparray dpnp_arccosh(dparray x1):
71+
cpdef dparray dpnp_arccosh(utils.dpnp_descriptor x1):
7272
return call_fptr_1in_1out(DPNP_FN_ARCCOSH, x1, x1.shape)
7373

7474

75-
cpdef dparray dpnp_arcsin(dparray x1):
75+
cpdef dparray dpnp_arcsin(utils.dpnp_descriptor x1):
7676
return call_fptr_1in_1out(DPNP_FN_ARCSIN, x1, x1.shape)
7777

7878

79-
cpdef dparray dpnp_arcsinh(dparray x1):
79+
cpdef dparray dpnp_arcsinh(utils.dpnp_descriptor x1):
8080
return call_fptr_1in_1out(DPNP_FN_ARCSINH, x1, x1.shape)
8181

8282

83-
cpdef dparray dpnp_arctan(dparray x1):
83+
cpdef dparray dpnp_arctan(utils.dpnp_descriptor x1):
8484
return call_fptr_1in_1out(DPNP_FN_ARCTAN, x1, x1.shape)
8585

8686

87-
cpdef dparray dpnp_arctanh(dparray x1):
87+
cpdef dparray dpnp_arctanh(utils.dpnp_descriptor x1):
8888
return call_fptr_1in_1out(DPNP_FN_ARCTANH, x1, x1.shape)
8989

9090

91-
cpdef dparray dpnp_cbrt(dparray x1):
91+
cpdef dparray dpnp_cbrt(utils.dpnp_descriptor x1):
9292
return call_fptr_1in_1out(DPNP_FN_CBRT, x1, x1.shape)
9393

9494

95-
cpdef dparray dpnp_cos(dparray x1):
95+
cpdef dparray dpnp_cos(utils.dpnp_descriptor x1):
9696
return call_fptr_1in_1out(DPNP_FN_COS, x1, x1.shape)
9797

9898

99-
cpdef dparray dpnp_cosh(dparray x1):
99+
cpdef dparray dpnp_cosh(utils.dpnp_descriptor x1):
100100
return call_fptr_1in_1out(DPNP_FN_COSH, x1, x1.shape)
101101

102102

103-
cpdef dparray dpnp_degrees(dparray x1):
103+
cpdef dparray dpnp_degrees(utils.dpnp_descriptor x1):
104104
return call_fptr_1in_1out(DPNP_FN_DEGREES, x1, x1.shape)
105105

106106

107-
cpdef dparray dpnp_exp(dparray x1):
107+
cpdef dparray dpnp_exp(utils.dpnp_descriptor x1):
108108
return call_fptr_1in_1out(DPNP_FN_EXP, x1, x1.shape)
109109

110110

111-
cpdef dparray dpnp_exp2(dparray x1):
111+
cpdef dparray dpnp_exp2(utils.dpnp_descriptor x1):
112112
return call_fptr_1in_1out(DPNP_FN_EXP2, x1, x1.shape)
113113

114114

115-
cpdef dparray dpnp_expm1(dparray x1):
115+
cpdef dparray dpnp_expm1(utils.dpnp_descriptor x1):
116116
return call_fptr_1in_1out(DPNP_FN_EXPM1, x1, x1.shape)
117117

118118

119-
cpdef dparray dpnp_log(dparray x1):
119+
cpdef dparray dpnp_log(utils.dpnp_descriptor x1):
120120
return call_fptr_1in_1out(DPNP_FN_LOG, x1, x1.shape)
121121

122122

123-
cpdef dparray dpnp_log10(dparray x1):
123+
cpdef dparray dpnp_log10(utils.dpnp_descriptor x1):
124124
return call_fptr_1in_1out(DPNP_FN_LOG10, x1, x1.shape)
125125

126126

127-
cpdef dparray dpnp_log1p(dparray x1):
127+
cpdef dparray dpnp_log1p(utils.dpnp_descriptor x1):
128128
return call_fptr_1in_1out(DPNP_FN_LOG1P, x1, x1.shape)
129129

130130

131-
cpdef dparray dpnp_log2(dparray x1):
131+
cpdef dparray dpnp_log2(utils.dpnp_descriptor x1):
132132
return call_fptr_1in_1out(DPNP_FN_LOG2, x1, x1.shape)
133133

134134

135-
cpdef dparray dpnp_recip(dparray x1):
135+
cpdef dparray dpnp_recip(utils.dpnp_descriptor x1):
136136
return call_fptr_1in_1out(DPNP_FN_RECIP, x1, x1.shape)
137137

138138

139-
cpdef dparray dpnp_radians(dparray x1):
139+
cpdef dparray dpnp_radians(utils.dpnp_descriptor x1):
140140
return call_fptr_1in_1out(DPNP_FN_RADIANS, x1, x1.shape)
141141

142142

143-
cpdef dparray dpnp_sin(dparray x1, dparray out=None):
143+
cpdef dparray dpnp_sin(utils.dpnp_descriptor x1, dparray out=None):
144144

145145
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(x1.dtype)
146146

@@ -168,23 +168,23 @@ cpdef dparray dpnp_sin(dparray x1, dparray out=None):
168168
return result
169169

170170

171-
cpdef dparray dpnp_sinh(dparray x1):
171+
cpdef dparray dpnp_sinh(utils.dpnp_descriptor x1):
172172
return call_fptr_1in_1out(DPNP_FN_SINH, x1, x1.shape)
173173

174174

175-
cpdef dparray dpnp_sqrt(dparray x1):
175+
cpdef dparray dpnp_sqrt(utils.dpnp_descriptor x1):
176176
return call_fptr_1in_1out(DPNP_FN_SQRT, x1, x1.shape)
177177

178178

179-
cpdef dparray dpnp_square(dparray x1):
179+
cpdef dparray dpnp_square(utils.dpnp_descriptor x1):
180180
return call_fptr_1in_1out(DPNP_FN_SQUARE, x1, x1.shape)
181181

182182

183-
cpdef dparray dpnp_tan(dparray x1):
183+
cpdef dparray dpnp_tan(utils.dpnp_descriptor x1):
184184
return call_fptr_1in_1out(DPNP_FN_TAN, x1, x1.shape)
185185

186186

187-
cpdef dparray dpnp_tanh(dparray x1):
187+
cpdef dparray dpnp_tanh(utils.dpnp_descriptor x1):
188188
return call_fptr_1in_1out(DPNP_FN_TANH, x1, x1.shape)
189189

190190

0 commit comments

Comments
 (0)