@@ -55,11 +55,11 @@ __all__ += [
5555]
5656
5757
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 )
6060
6161
62- cpdef dparray dpnp_all(dpnp_descriptor array1):
62+ cpdef dparray dpnp_all(utils. dpnp_descriptor array1):
6363 cdef dparray result = dparray((1 ,), dtype = numpy.bool)
6464
6565 cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(array1.dtype)
@@ -73,7 +73,7 @@ cpdef dparray dpnp_all(dpnp_descriptor array1):
7373 return result
7474
7575
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):
7777 cdef dparray result = dparray((1 ,), dtype = numpy.bool)
7878
7979 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
8888 return result
8989
9090
91- cpdef dparray dpnp_any(dpnp_descriptor array1):
91+ cpdef dparray dpnp_any(utils. dpnp_descriptor array1):
9292 cdef dparray result = dparray((1 ,), dtype = numpy.bool)
9393
9494 cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(array1.dtype)
@@ -102,45 +102,32 @@ cpdef dparray dpnp_any(dpnp_descriptor array1):
102102 return result
103103
104104
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])
114111
115112 return result
116113
117114
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])
129121
130122 return result
131123
132124
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])
144131
145132 return result
146133
@@ -185,32 +172,22 @@ cpdef dparray dpnp_isnan(object input1):
185172 return result
186173
187174
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])
199181
200182 return result
201183
202184
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])
214191
215192 return result
216193
@@ -251,16 +228,11 @@ cpdef dparray dpnp_logical_xor(object input1, object input2):
251228 return result
252229
253230
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])
265237
266238 return result
0 commit comments