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 numbers
  • complex64: single-precision complex floating-point numbers
  • int32: 32-bit two's complement signed integers
  • uint32: 32-bit unsigned integers
  • int16: 16-bit two's complement signed integers
  • uint16: 16-bit unsigned integers
  • int8: 8-bit two's complement signed integers
  • uint8: 8-bit unsigned integers
  • uint8c: 8-bit unsigned integers clamped to 0-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 );
Did you find this page helpful?