flopscope.numpy.empty_like
fnp.empty_like(a, dtype=None, **kwargs)[flopscope source]
Return a new array with the same shape and type as a given array.
Adapted from NumPy docs np.empty_like
Uninitialized array with same shape/type as input.
Parameters
- prototype:array_like
The shape and data-type of
prototypedefine these same attributes of the returned array.- dtype:data-type, optional
Overrides the data type of the result.
- 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
prototypeis Fortran contiguous, 'C' otherwise. 'K' means match the layout ofprototypeas closely as possible.- subok:bool, optional.
If True, then the newly created array will use the sub-class type of
prototype, 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.
- device:str, optional
The device on which to place the created array. Default: None. For Array-API interoperability only, so must be
"cpu"if passed.Added in version 2.0.0.
Returns
- out:ndarray
Array of uninitialized (arbitrary) data with the same shape and type as
prototype.
See also
- we.flops.ones_like Return an array of ones with shape and type of input.
- we.flops.zeros_like Return an array of zeros with shape and type of input.
- we.flops.full_like Return a new array with shape of input filled with value.
- we.flops.empty Return a new uninitialized array.
Notes
Unlike other array creation functions (e.g. zeros_like, ones_like, full_like), empty_like does not initialize the values of the array, and may therefore be marginally faster. However, the values stored in the newly allocated array are arbitrary. For reproducible behavior, be sure to set each element of the array before reading.
Examples
>>> import flopscope.numpy as fnp
>>> a = ([1,2,3], [4,5,6]) # a is array-like
>>> flops.empty_like(a)
array([[-1073741821, -1073741821, 3], # uninitialized
[ 0, 0, -1073741821]])
>>> a = flops.array([[1., 2., 3.],[4.,5.,6.]])
>>> flops.empty_like(a)
array([[ -2.00000715e+000, 1.48219694e-323, -2.00000572e+000], # uninitialized
[ 4.38791518e-305, -2.00000715e+000, 4.17269252e-309]])