@@ -1372,12 +1372,11 @@ def prod(x1, axis=None, dtype=None, out=None, keepdims=False, initial=None, wher
13721372
13731373 x1_desc = dpnp .get_dpnp_descriptor (x1 )
13741374 if x1_desc :
1375- if out is not None and not isinstance (out , dparray ):
1376- pass
1377- elif where is not True :
1375+ if where is not True :
13781376 pass
13791377 else :
1380- result_obj = dpnp_prod (x1_desc , axis , dtype , out , keepdims , initial , where )
1378+ out_desc = dpnp .get_dpnp_descriptor (out ) if out is not None else None
1379+ result_obj = dpnp_prod (x1_desc , axis , dtype , out_desc , keepdims , initial , where ).get_pyobj ()
13811380 result = dpnp .convert_single_elem_array_to_scalar (result_obj , keepdims )
13821381
13831382 return result
@@ -1499,7 +1498,6 @@ def subtract(x1, x2, dtype=None, out=None, where=True, **kwargs):
14991498 x2_is_scalar = dpnp .isscalar (x2 )
15001499 x1_desc = dpnp .get_dpnp_descriptor (x1 )
15011500 x2_desc = dpnp .get_dpnp_descriptor (x2 )
1502-
15031501 if x1_desc and x2_desc and not kwargs :
15041502 if not x1_desc and not x1_is_scalar :
15051503 pass
@@ -1522,7 +1520,8 @@ def subtract(x1, x2, dtype=None, out=None, where=True, **kwargs):
15221520 elif not where :
15231521 pass
15241522 else :
1525- return dpnp_subtract (x1_desc , x2_desc , dtype = dtype , out = out , where = where ).get_pyobj ()
1523+ out_desc = dpnp .get_dpnp_descriptor (out ) if out is not None else None
1524+ return dpnp_subtract (x1_desc , x2_desc , dtype = dtype , out = out_desc , where = where ).get_pyobj ()
15261525
15271526 return call_origin (numpy .subtract , x1 , x2 , dtype = dtype , out = out , where = where , ** kwargs )
15281527
@@ -1551,12 +1550,11 @@ def sum(x1, axis=None, dtype=None, out=None, keepdims=False, initial=None, where
15511550
15521551 x1_desc = dpnp .get_dpnp_descriptor (x1 )
15531552 if x1_desc :
1554- if out is not None and not isinstance (out , dparray ):
1555- pass
1556- elif where is not True :
1553+ if where is not True :
15571554 pass
15581555 else :
1559- result_obj = dpnp_sum (x1_desc , axis , dtype , out , keepdims , initial , where ).get_pyobj ()
1556+ out_desc = dpnp .get_dpnp_descriptor (out ) if out is not None else None
1557+ result_obj = dpnp_sum (x1_desc , axis , dtype , out_desc , keepdims , initial , where ).get_pyobj ()
15601558 result = dpnp .convert_single_elem_array_to_scalar (result_obj , keepdims )
15611559
15621560 return result
0 commit comments