@@ -55,11 +55,11 @@ __all__ += [
55
55
]
56
56
57
57
58
- ctypedef void (* custom_logic_1in_1out_func_ptr_t)(void * , void * , const size_t)
59
- ctypedef void (* custom_allclose_1in_1out_func_ptr_t)(void * , void * , void * , const size_t, double , double )
58
+ ctypedef void (* custom_logic_1in_1out_func_ptr_t)(void * , void * , const size_t)
59
+ ctypedef void (* custom_allclose_1in_1out_func_ptr_t)(void * , void * , void * , const size_t, double , double )
60
60
61
61
62
- cpdef dparray dpnp_all(dpnp_descriptor array1):
62
+ cpdef dparray dpnp_all(utils. dpnp_descriptor array1):
63
63
cdef dparray result = dparray((1 ,), dtype = numpy.bool)
64
64
65
65
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(array1.dtype)
@@ -73,7 +73,7 @@ cpdef dparray dpnp_all(dpnp_descriptor array1):
73
73
return result
74
74
75
75
76
- cpdef dparray dpnp_allclose(dpnp_descriptor array1, dpnp_descriptor array2, double rtol_val, double atol_val):
76
+ cpdef dparray dpnp_allclose(utils. dpnp_descriptor array1, utils. dpnp_descriptor array2, double rtol_val, double atol_val):
77
77
cdef dparray result = dparray((1 ,), dtype = numpy.bool)
78
78
79
79
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(array1.dtype)
@@ -88,7 +88,7 @@ cpdef dparray dpnp_allclose(dpnp_descriptor array1, dpnp_descriptor array2, doub
88
88
return result
89
89
90
90
91
- cpdef dparray dpnp_any(dpnp_descriptor array1):
91
+ cpdef dparray dpnp_any(utils. dpnp_descriptor array1):
92
92
cdef dparray result = dparray((1 ,), dtype = numpy.bool)
93
93
94
94
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(array1.dtype)
@@ -102,45 +102,32 @@ cpdef dparray dpnp_any(dpnp_descriptor array1):
102
102
return result
103
103
104
104
105
- cpdef dparray dpnp_equal(object array1, object input2):
106
- cdef dparray result = dparray(array1.shape, dtype = numpy.bool)
107
-
108
- if isinstance (input2, int ):
109
- for i in range (result.size):
110
- result[i] = numpy.bool(array1[i] == input2)
111
- else :
112
- for i in range (result.size):
113
- result[i] = numpy.bool(array1[i] == input2[i])
105
+ cpdef utils.dpnp_descriptor dpnp_equal(utils.dpnp_descriptor array1, utils.dpnp_descriptor input2):
106
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(array1.shape,
107
+ dpnp.bool,
108
+ None )
109
+ for i in range (result.size):
110
+ result.get_pyobj()[i] = dpnp.bool(array1.get_pyobj()[i] == input2.get_pyobj()[i])
114
111
115
112
return result
116
113
117
114
118
- cpdef dparray dpnp_greater(object input1, object input2):
119
- input2_is_scalar = dpnp.isscalar(input2)
120
-
121
- cdef dparray result = dparray(input1.shape, dtype = numpy.bool)
122
-
123
- if input2_is_scalar:
124
- for i in range (result.size):
125
- result[i] = dpnp.bool(input1[i] > input2)
126
- else :
127
- for i in range (result.size):
128
- result[i] = dpnp.bool(input1[i] > input2[i])
115
+ cpdef utils.dpnp_descriptor dpnp_greater(utils.dpnp_descriptor input1, utils.dpnp_descriptor input2):
116
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(input1.shape,
117
+ dpnp.bool,
118
+ None )
119
+ for i in range (result.size):
120
+ result.get_pyobj()[i] = dpnp.bool(input1.get_pyobj()[i] > input2.get_pyobj()[i])
129
121
130
122
return result
131
123
132
124
133
- cpdef dparray dpnp_greater_equal(object input1, object input2):
134
- input2_is_scalar = dpnp.isscalar(input2)
135
-
136
- cdef dparray result = dparray(input1.shape, dtype = numpy.bool)
137
-
138
- if input2_is_scalar:
139
- for i in range (result.size):
140
- result[i] = dpnp.bool(input1[i] >= input2)
141
- else :
142
- for i in range (result.size):
143
- result[i] = dpnp.bool(input1[i] >= input2[i])
125
+ cpdef utils.dpnp_descriptor dpnp_greater_equal(utils.dpnp_descriptor input1, utils.dpnp_descriptor input2):
126
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(input1.shape,
127
+ dpnp.bool,
128
+ None )
129
+ for i in range (result.size):
130
+ result.get_pyobj()[i] = dpnp.bool(input1.get_pyobj()[i] >= input2.get_pyobj()[i])
144
131
145
132
return result
146
133
@@ -185,32 +172,22 @@ cpdef dparray dpnp_isnan(object input1):
185
172
return result
186
173
187
174
188
- cpdef dparray dpnp_less(object input1, object input2):
189
- input2_is_scalar = dpnp.isscalar(input2)
190
-
191
- cdef dparray result = dparray(input1.shape, dtype = numpy.bool)
192
-
193
- if input2_is_scalar:
194
- for i in range (result.size):
195
- result[i] = dpnp.bool(input1[i] < input2)
196
- else :
197
- for i in range (result.size):
198
- result[i] = dpnp.bool(input1[i] < input2[i])
175
+ cpdef utils.dpnp_descriptor dpnp_less(utils.dpnp_descriptor input1, utils.dpnp_descriptor input2):
176
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(input1.shape,
177
+ dpnp.bool,
178
+ None )
179
+ for i in range (result.size):
180
+ result.get_pyobj()[i] = dpnp.bool(input1.get_pyobj()[i] < input2.get_pyobj()[i])
199
181
200
182
return result
201
183
202
184
203
- cpdef dparray dpnp_less_equal(object input1, object input2):
204
- input2_is_scalar = dpnp.isscalar(input2)
205
-
206
- cdef dparray result = dparray(input1.shape, dtype = numpy.bool)
207
-
208
- if input2_is_scalar:
209
- for i in range (result.size):
210
- result[i] = dpnp.bool(input1[i] <= input2)
211
- else :
212
- for i in range (result.size):
213
- result[i] = dpnp.bool(input1[i] <= input2[i])
185
+ cpdef utils.dpnp_descriptor dpnp_less_equal(utils.dpnp_descriptor input1, utils.dpnp_descriptor input2):
186
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(input1.shape,
187
+ dpnp.bool,
188
+ None )
189
+ for i in range (result.size):
190
+ result.get_pyobj()[i] = dpnp.bool(input1.get_pyobj()[i] <= input2.get_pyobj()[i])
214
191
215
192
return result
216
193
@@ -251,16 +228,11 @@ cpdef dparray dpnp_logical_xor(object input1, object input2):
251
228
return result
252
229
253
230
254
- cpdef dparray dpnp_not_equal(object input1, object input2):
255
- input2_is_scalar = dpnp.isscalar(input2)
256
-
257
- cdef dparray result = dparray(input1.shape, dtype = numpy.bool)
258
-
259
- if input2_is_scalar:
260
- for i in range (result.size):
261
- result[i] = dpnp.bool(input1[i] != input2)
262
- else :
263
- for i in range (result.size):
264
- result[i] = dpnp.bool(input1[i] != input2[i])
231
+ cpdef utils.dpnp_descriptor dpnp_not_equal(utils.dpnp_descriptor input1, utils.dpnp_descriptor input2):
232
+ cdef utils.dpnp_descriptor result = utils_py.create_output_descriptor_py(input1.shape,
233
+ dpnp.bool,
234
+ None )
235
+ for i in range (result.size):
236
+ result.get_pyobj()[i] = dpnp.bool(input1.get_pyobj()[i] != input2.get_pyobj()[i])
265
237
266
238
return result
0 commit comments