@@ -237,7 +237,7 @@ cpdef object dpnp_norm(object input, ord=None, axis=None):
237237 elif ord == - numpy.inf:
238238 return dpnp.array([dpnp.abs(input ).min(axis = axis)])
239239 elif ord == 0 :
240- return dpnp.array([( input != 0 ).astype( input .dtype).sum( axis = axis)])
240+ return dpnp.array([dpnp.sum(dpnp.astype(( input != 0 ), input .dtype), axis = axis)])
241241 elif ord is None or ord == 2 :
242242 s = input * input
243243 return dpnp.sqrt(dpnp.sum(s, axis = axis))
@@ -248,14 +248,14 @@ cpdef object dpnp_norm(object input, ord=None, axis=None):
248248 absx_size = absx.size
249249 absx_power = utils_py.create_output_descriptor_py((absx_size,), absx.dtype, None ).get_pyobj()
250250 for i in range (absx_size):
251- absx_elem = absx.item(i)
251+ absx_elem = absx[numpy.unravel_index(i, absx.shape)]
252252 absx_power[i] = absx_elem ** ord
253253 absx_ = dpnp.reshape(absx_power, absx.shape)
254254 ret = dpnp.sum(absx_, axis = axis)
255255 ret_size = ret.size
256256 ret_power = utils_py.create_output_descriptor_py((ret_size,), None , None ).get_pyobj()
257257 for i in range (ret_size):
258- ret_elem = ret.item(i)
258+ ret_elem = ret[numpy.unravel_index(i, ret.shape)]
259259 ret_power[i] = ret_elem ** (1 / ord )
260260 ret_ = dpnp.reshape(ret_power, ret.shape)
261261 return ret_
0 commit comments