emptyLike

Create an uninitialized ndarray having the same shape and data type as a provided ndarray.

Usage

var emptyLike = require( '@stdlib/ndarray/base/empty-like' );

emptyLike( x )

Creates an uninitialized ndarray having the same shape and data type as a provided ndarray.

var zeros = require( '@stdlib/ndarray/base/zeros' );

var x = zeros( 'float64', [ 2, 2 ], 'row-major' );
// returns <ndarray>

var y = emptyLike( x );
// returns <ndarray>

var sh = y.shape;
// returns [ 2, 2 ]

Notes

  • Along with data type, shape, and order, the function infers the "class" of the returned ndarray from the provided ndarray. For example, if provided a "base" ndarray, the function returns a base ndarray. If provided a non-base ndarray, the function returns a non-base ndarray.
  • If the inferred output ndarray data type is 'generic', the function always returns a zero-filled ndarray.
  • For returned ndarrays whose underlying memory is not initialized, memory contents are unknown and may contain sensitive data.

Examples

var dtypes = require( '@stdlib/ndarray/dtypes' );
var empty = require( '@stdlib/ndarray/base/empty' );
var emptyLike = require( '@stdlib/ndarray/base/empty-like' );

// Get a list of data types:
var dt = dtypes();

// Generate uninitialized arrays...
var x;
var y;
var i;
for ( i = 0; i < dt.length; i++ ) {
    x = empty( dt[ i ], [ 2, 2 ], 'row-major' );
    y = emptyLike( x );
    console.log( y.data );
}
Did you find this page helpful?