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 ] );
}