toUniqueNormalizedIndices

Return a list of unique indices after normalizing to the interval [0,max].

Usage

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

toUniqueNormalizedIndices( indices, max )

Returns a list of unique indices after normalizing to the interval [0,max].

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

If provided an out-of-bounds index, the function returns null.

var idx = toUniqueNormalizedIndices( [ 15, -15 ], 10 );
// returns null

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.
  • When provided valid indices, the function always returns a "generic" array.
  • The function preserves provided index order.

Examples

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

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

// Generate a list of unique indices normalized to the interval `[0, 15]`:
var out = toUniqueNormalizedIndices( idx, 15 );
console.log( out );
Did you find this page helpful?