Return an array containing a truncated view of an input ndarray and a view of the first element(s) along a specified dimension.
var shift = require( '@stdlib/ndarray/base/shift' );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.
- The
writableparameter only applies to ndarray constructors supporting read-only instances.
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 ] ) );