zeroToLike
Generate a linearly spaced numeric array whose elements increment by
1
starting from zero and having the same length and data type as a provided input array.
Usage
var zeroToLike = require( '@stdlib/array/zero-to-like' );
zeroToLike( x[, dtype] )
Generates a linearly spaced numeric array whose elements increment by 1
starting from zero and having the same length and data type as a provided input array x
.
var arr = zeroToLike( [ 0, 0, 0, 0, 0 ] );
// returns [ 0, 1, 2, 3, 4 ]
The function recognizes the following data types:
float64
: double-precision floating-point numbers (IEEE 754)float32
: single-precision floating-point numbers (IEEE 754)complex128
: double-precision complex floating-point numberscomplex64
: single-precision complex floating-point numbersint32
: 32-bit two's complement signed integersuint32
: 32-bit unsigned integersint16
: 16-bit two's complement signed integersuint16
: 16-bit unsigned integersint8
: 8-bit two's complement signed integersuint8
: 8-bit unsigned integersuint8c
: 8-bit unsigned integers clamped to0-255
generic
: generic JavaScript values
By default, the output array data type is inferred from the provided array x
. To return an array having a different data type, provide a dtype
argument.
var arr = zeroToLike( [ 0, 0, 0, 0, 0 ], 'int32' );
// returns <Int32Array>[ 0, 1, 2, 3, 4 ]
Notes
- For complex number arrays, each element of the returned array has an imaginary component equal to
0
.
Examples
var sort2hp = require( '@stdlib/blas/ext/base/gsort2hp' );
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var zeroToLike = require( '@stdlib/array/zero-to-like' );
// Generate an array of random numbers:
var opts = {
'dtype': 'generic'
};
var x = discreteUniform( 10, 100, 200, opts );
// Generate an array of indices:
var idx = zeroToLike( x );
// Create a temporary array to avoid mutation:
var tmp = x.slice();
// Sort the index array according to the sort order of `x`:
sort2hp( x.length, 1, tmp, 1, idx, 1 );
console.log( x );
console.log( idx );