Skip to content

Commit e8f42c8

Browse files
fix function dpnp_norm (#972)
Co-authored-by: Alexander-Makaryev <[email protected]>
1 parent e29c8e2 commit e8f42c8

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

dpnp/linalg/dpnp_algo_linalg.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)