Return the maximum accessible index based on a set of provided strided array parameters.
var maxViewBufferIndex = require( '@stdlib/strided/base/max-view-buffer-index' );
Returns the maximum accessible index based on a set of provided strided array parameters.
var idx = maxViewBufferIndex( 3, 2, 10 );
// returns 14
- If
N <= 0
, the function returns the specifiedoffset
; however, do note that, whenN
equals zero, no strided array elements should be accessed.
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var maxViewBufferIndex = require( '@stdlib/strided/base/max-view-buffer-index' );
// Generate a random number of indexed elements:
var N = discreteUniform( 10, 20 );
// Generate a random stride length:
var stride = discreteUniform( -10, 10 );
// Generate a random offset:
var offset = discreteUniform( 0, 100 ) + ( ( stride < 0 ) ? (1-N)*stride : 0 );
// Compute the maximum accessible index:
var idx = maxViewBufferIndex( N, stride, offset );
console.log( 'N: %d, stride: %d, offset: %d => %d', N, stride, offset, idx );