flopscope.

flopscope.numpy.empty

fnp.empty(shape, dtype=<class 'float'>, **kwargs)[flopscope source]

Return a new array of given shape and type, without initializing entries.

Adapted from NumPy docs np.empty

Areacore
Typefree
NumPy Refnp.empty
Cost
0
Flopscope Context

Uninitialized array allocation.

Parameters

shape:int or tuple of int

Shape of the empty array, e.g., (2, 3) or 2.

dtype:data-type, optional

Desired output data-type for the array, e.g, flops.int8. Default is flops.float64.

order:{'C', 'F'}, optional, default: 'C'

Whether to store multi-dimensional data in row-major (C-style) or column-major (Fortran-style) order in memory.

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.
like:array_like, optional

Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as like supports the __array_function__ protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.

Added in version 1.20.0.

Returns

out:ndarray

Array of uninitialized (arbitrary) data of the given shape, dtype, and order. Object arrays will be initialized to None.

See also

Notes

Unlike other array creation functions (e.g. zeros, ones, full), empty 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
>>> flops.empty([2, 2])
array([[ -9.74499359e+001,   6.69583040e-309],
       [  2.13182611e-314,   3.06959433e-309]])         #uninitialized
>>> flops.empty([2, 2], dtype=int)
array([[-1073741821, -1067949133],
       [  496041986,    19249760]])                     #uninitialized