Skip to content

Files

Latest commit

Jan 7, 2024
a9f37ff · Jan 7, 2024

History

History

stride

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 2, 2023
Jan 7, 2024
Dec 2, 2023
Dec 31, 2023
Dec 2, 2023
Dec 8, 2023
Dec 2, 2023

stride

Return the stride along a specified dimension for a provided ndarray.

Usage

var stride = require( '@stdlib/ndarray/stride' );

stride( x, dim )

Returns the stride along a specified dimension for a provided ndarray.

var zeros = require( '@stdlib/ndarray/zeros' );

var x = zeros( [ 3, 2, 3 ] );
// returns <ndarray>

var st = stride( x, 0 );
// returns 6

The function accepts the following arguments:

  • x: input ndarray.
  • dim: dimension index. If provided an integer less than zero, the dimension index is resolved relative to the last dimension, with the last dimension corresponding to the value -1.

Notes

  • A "stride" is the linear distance (i.e., number of elements) between adjacent elements along a specified dimension.
  • This function is intended as a slight performance optimization over @stdlib/ndarray/strides when only a single stride is needed. For retrieving multiple strides, use @stdlib/ndarray/strides directly.

Examples

var zeros = require( '@stdlib/ndarray/zeros' );
var slice = require( '@stdlib/ndarray/slice' );
var E = require( '@stdlib/slice/multi' );
var S = require( '@stdlib/slice/ctor' );
var stride = require( '@stdlib/ndarray/stride' );

// Create an array:
var x = zeros( [ 10, 10, 10, 10 ] );
// returns <ndarray>

// Define some slices:
var slices = [
    // :,:,:,:
    E( null, null, null, null ),

    // 5:10,4,2:4,::-1
    E( S( 5, 10 ), 4, S( 2, 4 ), S( null, null, -1 ) ),

    // :,:,2,:
    E( null, null, 2, null ),

    // 1,2,3,:
    E( 1, 2, 3, null ),

    // 1,3,::2,4::2
    E( 1, 3, S( null, null, 2 ), S( 4, null, 2 ) )
];

// Resolve the stride of the first dimension for each slice...
var s;
var i;
for ( i = 0; i < slices.length; i++ ) {
    s = slice( x, slices[ i ] );
    console.log( '(%s) => %d', s.shape.join( ',' ), stride( s, 0 ) );
}

See Also