65 lines
2.1 KiB
Python
65 lines
2.1 KiB
Python
# This file is part of the micropython-ulab project, https://github.com/v923z/micropython-ulab
|
|
#
|
|
# The MIT License (MIT)
|
|
#
|
|
# Copyright (c) 2022 Phil Jepsen
|
|
|
|
from ulab import numpy as np
|
|
from .multiarray import (asarray)
|
|
|
|
def zeros_like(a, dtype=None, order='K', subok=True, shape=None):
|
|
"""
|
|
Return an array of zeros with the same shape and type as a given array.
|
|
Parameters
|
|
----------
|
|
a : array_like
|
|
The shape and data-type of `a` define these same attributes of
|
|
the returned array.
|
|
dtype : data-type, optional
|
|
Overrides the data type of the result.
|
|
.. versionadded:: 1.6.0
|
|
order : {'C', 'F', 'A', or 'K'}, optional
|
|
Overrides the memory layout of the result. 'C' means C-order,
|
|
'F' means F-order, 'A' means 'F' if `a` is Fortran contiguous,
|
|
'C' otherwise. 'K' means match the layout of `a` as closely
|
|
as possible.
|
|
.. versionadded:: 1.6.0
|
|
subok : bool, optional.
|
|
If True, then the newly created array will use the sub-class
|
|
type of `a`, otherwise it will be a base-class array. Defaults
|
|
to True.
|
|
shape : int or sequence of ints, optional.
|
|
Overrides the shape of the result. If order='K' and the number of
|
|
dimensions is unchanged, will try to keep order, otherwise,
|
|
order='C' is implied.
|
|
.. versionadded:: 1.17.0
|
|
Returns
|
|
-------
|
|
out : ndarray
|
|
Array of zeros with the same shape and type as `a`.
|
|
See Also
|
|
--------
|
|
empty_like : Return an empty array with shape and type of input.
|
|
ones_like : Return an array of ones with shape and type of input.
|
|
full_like : Return a new array with shape of input filled with value.
|
|
zeros : Return a new array setting values to zero.
|
|
Examples
|
|
--------
|
|
>>> x = np.arange(6)
|
|
>>> x = x.reshape((2, 3))
|
|
>>> x
|
|
array([[0, 1, 2],
|
|
[3, 4, 5]])
|
|
>>> np.zeros_like(x)
|
|
array([[0, 0, 0],
|
|
[0, 0, 0]])
|
|
>>> y = np.arange(3, dtype=float)
|
|
>>> y
|
|
array([0., 1., 2.])
|
|
>>> np.zeros_like(y)
|
|
array([0., 0., 0.])
|
|
"""
|
|
|
|
res = np.full(a.shape, 0, dtype=a.dtype)
|
|
return res
|
|
|