Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

shift

Return an array containing a truncated view of an input ndarray and a view of the first element(s) along a specified dimension.

Usage

var shift = require( '@stdlib/ndarray/base/shift' );

shift( x, dim, writable )

Returns an array containing a truncated view of an input ndarray and a view of the first element(s) along a specified dimension.

var ndarray = require( '@stdlib/ndarray/ctor' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

var buffer = [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ];
var shape = [ 3, 2 ];
var strides = [ 2, 1 ];
var offset = 0;

var x = ndarray( 'generic', buffer, shape, strides, offset, 'row-major' );
// returns <ndarray>

var arr = ndarray2array( x );
// returns [ [ 1.0, 2.0 ], [ 3.0, 4.0 ], [ 5.0, 6.0 ] ]

var y = shift( x, 0, false );
// returns [ <ndarray>, <ndarray> ]

arr = ndarray2array( y[ 0 ] );
// returns [ [ 3.0, 4.0 ], [ 5.0, 6.0 ] ]

arr = ndarray2array( y[ 1 ] );
// returns [ [ 1.0, 2.0 ] ]

The function accepts the following arguments:

  • x: input ndarray. Must have one or more dimensions.
  • dim: dimension along which to perform the operation. 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.
  • writable: boolean indicating whether a returned ndarray should be writable.

Notes

  • The writable parameter only applies to ndarray constructors supporting read-only instances.

Examples

var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var zeroTo = require( '@stdlib/array/base/zero-to' );
var shift = require( '@stdlib/ndarray/base/shift' );

// Create a linear ndarray buffer:
var buf = zeroTo( 27 );

// Create an ndarray which is a stack of three 3x3 matrices:
var x = array( buf, {
    'shape': [ 3, 3, 3 ]
});

// Remove the first row from each matrix:
var y = shift( x, 1, false );
// returns [ <ndarray>, <ndarray> ]

console.log( ndarray2array( y[ 0 ] ) );
console.log( ndarray2array( y[ 1 ] ) );