zeroTo

Generate a linearly spaced numeric array whose elements increment by 1 starting from zero.

Usage

var zeroTo = require( '@stdlib/array/zero-to' );

zeroTo( n[, dtype] )

Generates a linearly spaced numeric array whose elements increment by 1 starting from zero.

var arr = zeroTo( 5 );
// returns <Float64Array>[ 0.0, 1.0, 2.0, 3.0, 4.0 ]

If n == 0, the function returns an empty array.

var arr = zeroTo( 0 );
// returns <Float64Array>[]

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 float64 (i.e., a typed array). To specify an alternative data type, provide a dtype argument.

var arr = zeroTo( 5, '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 zeroTo = require( '@stdlib/array/zero-to' );

// Generate an array of random numbers:
var opts = {
    'dtype': 'generic'
};
var x = discreteUniform( 10, 100, 200, opts );

// Generate an array of indices:
var idx = zeroTo( x.length, opts.dtype );

// 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?