toNormalizedIndices

Normalize a list of indices to the interval [0,max].

Usage

var toNormalizedIndices = require( '@stdlib/ndarray/base/to-normalized-indices' );

toNormalizedIndices( indices, max )

Normalizes a list of indices to the interval [0,max].

var idx = toNormalizedIndices( [ 2, -5 ], 10 );
// returns [ 2, 6 ]

If provided an out-of-bounds index, the function normalizes the index to -1.

var idx = toNormalizedIndices( [ 15, -15 ], 10 );
// returns [ -1, -1 ]

Notes

  • During normalization, a negative index is converted to a nonnegative index according to max + idx + 1. If, after normalization, the resolved index is still negative, the value is considered out-of-bounds.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var toNormalizedIndices = require( '@stdlib/ndarray/base/to-normalized-indices' );

// Generate a list of random indices:
var idx = discreteUniform( 100, -20, 20, {
    'dtype': 'generic'
});

// Normalize each index to the interval `[0, 15]`:
var out = toNormalizedIndices( idx, 15 );

// Print the results...
var i;
for ( i = 0; i < idx.length; i++ ) {
    console.log( '%d => [%d, %d] => %d', idx[ i ], 0, 15, out[ i ] );
}
Did you find this page helpful?