@@ -697,7 +697,7 @@ def full(shape,
697697 """
698698 if like is not None :
699699 pass
700- elif not isinstance ( order , str ) or len ( order ) != 1 or order not in "CcFf" :
700+ elif order not in ( 'C' , 'c' , 'F' , 'f' , None ) :
701701 pass
702702 else :
703703 return dpnp_container .full (shape ,
@@ -752,14 +752,14 @@ def full_like(x1,
752752 """
753753 if not isinstance (x1 , dpnp .ndarray ):
754754 pass
755- elif not isinstance ( order , str ) or len ( order ) != 1 or order not in "CcFf" :
755+ elif order not in ( 'C' , 'c' , 'F' , 'f' , None ) :
756756 pass
757757 elif subok is not False :
758758 pass
759759 else :
760- _shape = shape if shape is not None else x1 . shape
761- _dtype = dtype if dtype is not None else x1 . dtype
762- _usm_type = usm_type if usm_type is not None else x1 . usm_type
760+ _shape = x1 . shape if shape is None else shape
761+ _dtype = x1 . dtype if dtype is None else dtype
762+ _usm_type = x1 . usm_type if usm_type is None else usm_type
763763 _sycl_queue = dpnp .get_normalized_queue_device (x1 , sycl_queue = sycl_queue , device = device )
764764
765765 return dpnp_container .full (_shape ,
@@ -1372,15 +1372,24 @@ def vander(x1, N=None, increasing=False):
13721372 return call_origin (numpy .vander , x1 , N = N , increasing = increasing )
13731373
13741374
1375- def zeros (shape , dtype = None , order = 'C' ):
1375+ def zeros (shape ,
1376+ * ,
1377+ dtype = None ,
1378+ order = "C" ,
1379+ like = None ,
1380+ device = None ,
1381+ usm_type = "device" ,
1382+ sycl_queue = None ):
13761383 """
13771384 Return a new array of given shape and type, filled with zeros.
13781385
13791386 For full documentation refer to :obj:`numpy.zeros`.
13801387
13811388 Limitations
13821389 -----------
1383- Parameter ``order`` is supported only with default value ``"C"``.
1390+ Parameter ``order`` is supported only with values ``"C"`` and ``"F"``.
1391+ Parameter ``like`` is supported only with default value ``None``.
1392+ Otherwise the function will be executed sequentially on CPU.
13841393
13851394 See Also
13861395 --------
@@ -1401,30 +1410,41 @@ def zeros(shape, dtype=None, order='C'):
14011410 [0.0, 0.0]
14021411
14031412 """
1413+ if like is not None :
1414+ pass
1415+ elif order not in ('C' , 'c' , 'F' , 'f' , None ):
1416+ pass
1417+ else :
1418+ return dpnp_container .zeros (shape ,
1419+ dtype = dtype ,
1420+ order = order ,
1421+ device = device ,
1422+ usm_type = usm_type ,
1423+ sycl_queue = sycl_queue )
14041424
1405- if (not use_origin_backend ()):
1406- if order not in ('C' , 'c' , None ):
1407- pass
1408- else :
1409- _dtype = dtype if dtype is not None else dpnp .float64
1410- result = dpnp_zeros (shape , _dtype ).get_pyobj ()
1411-
1412- return result
1413-
1414- return call_origin (numpy .zeros , shape , dtype = dtype , order = order )
1425+ return call_origin (numpy .zeros , shape , dtype = dtype , order = order , like = like )
14151426
14161427
1417- # numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)
1418- def zeros_like (x1 , dtype = None , order = 'C' , subok = False , shape = None ):
1428+ def zeros_like (x1 ,
1429+ * ,
1430+ dtype = None ,
1431+ order = "C" ,
1432+ subok = False ,
1433+ shape = None ,
1434+ device = None ,
1435+ usm_type = None ,
1436+ sycl_queue = None ):
14191437 """
14201438 Return an array of zeros with the same shape and type as a given array.
14211439
14221440 For full documentation refer to :obj:`numpy.zeros_like`.
14231441
14241442 Limitations
14251443 -----------
1426- Parameter ``order`` is supported only with default value ``"C"``.
1444+ Parameters ``x1`` is supported only as :class:`dpnp.dpnp_array`.
1445+ Parameter ``order`` is supported with values ``"C"`` or ``"F"``.
14271446 Parameter ``subok`` is supported only with default value ``False``.
1447+ Otherwise the function will be executed sequentially on CPU.
14281448
14291449 See Also
14301450 --------
@@ -1442,19 +1462,22 @@ def zeros_like(x1, dtype=None, order='C', subok=False, shape=None):
14421462 >>> [i for i in np.zeros_like(x)]
14431463 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
14441464
1445- """
1446-
1447- x1_desc = dpnp .get_dpnp_descriptor (x1 , copy_when_nondefault_queue = False )
1448- if x1_desc :
1449- if order not in ('C' , 'c' , None ):
1450- pass
1451- elif subok is not False :
1452- pass
1453- else :
1454- _shape = shape if shape is not None else x1_desc .shape
1455- _dtype = dtype if dtype is not None else x1_desc .dtype
1456- result = dpnp_zeros_like (_shape , _dtype ).get_pyobj ()
1457-
1458- return result
1465+ """
1466+ if not isinstance (x1 , dpnp .ndarray ):
1467+ pass
1468+ elif order not in ('C' , 'c' , 'F' , 'f' , None ):
1469+ pass
1470+ elif subok is not False :
1471+ pass
1472+ else :
1473+ _shape = x1 .shape if shape is None else shape
1474+ _dtype = x1 .dtype if dtype is None else dtype
1475+ _usm_type = x1 .usm_type if usm_type is None else usm_type
1476+ _sycl_queue = dpnp .get_normalized_queue_device (x1 , sycl_queue = sycl_queue , device = device )
1477+ return dpnp_container .zeros (_shape ,
1478+ dtype = _dtype ,
1479+ order = order ,
1480+ usm_type = _usm_type ,
1481+ sycl_queue = _sycl_queue )
14591482
14601483 return call_origin (numpy .zeros_like , x1 , dtype , order , subok , shape )
0 commit comments