strided2array4d

Convert a strided array to a four-dimensional nested array.

Usage

var strided2array4d = require( '@stdlib/array/base/strided2array4d' );

strided2array4d( x, shape, strides, offset )

Converts a strided array to a four-dimensional nested array.

var x = [ 1, 2, 3, 4, 5, 6 ];

var arr = strided2array4d( x, [ 1, 1, 3, 2 ], [ 6, 6, 2, 1 ], 0 );
// returns [ [ [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ] ] ]

arr = strided2array4d( x, [ 1, 1, 3, 2 ], [ 1, 1, 1, 3 ], 0 );
// returns [ [ [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] ] ]

The function accepts the following arguments:

  • x: input array.
  • shape: array shape.
  • strides: dimension strides.
  • offset: index of the first indexed value in the input array.

Notes

  • The function assumes that the input array is compatible with the specified array shape, dimension strides, and index offset.

Examples

var zeroTo = require( '@stdlib/array/base/zero-to' );
var numel = require( '@stdlib/ndarray/base/numel' );
var shape2strides = require( '@stdlib/ndarray/base/shape2strides' );
var strided2array4d = require( '@stdlib/array/base/strided2array4d' );

var shape = [ 1, 3, 3, 3 ];

var x = zeroTo( numel( shape ) );
console.log( x );

var y = strided2array4d( x, shape, shape2strides( shape, 'row-major' ), 0 );
console.log( y );

y = strided2array4d( x, shape, shape2strides( shape, 'column-major' ), 0 );
console.log( y );
Did you find this page helpful?