Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

concat

Concatenate a list of ndarrays along a specified ndarray dimension.

Usage

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

concat( arrays[, dim] )

Concatenates a list of ndarrays along a specified ndarray dimension.

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

var x = array( [ [ -1.0, 2.0 ], [ -3.0, 4.0 ] ] );
var y = array( [ [ -5.0, 6.0, -7.0 ], [ 8.0, -9.0, 10.0 ] ] );

var out = concat( [ x, y ], -1 );
// returns <ndarray>

var arr = ndarray2array( out );
// returns [ [ -1.0, 2.0, -5.0, 6.0, -7.0 ], [ -3.0, 4.0, 8.0, -9.0, 10.0 ] ]

The function accepts the following arguments:

  • arrays: a list of input ndarrays. Must be broadcast compatible except for the dimension along which to concatenate. The data type of the output ndarray is determined by applying type promotion rules to the list of input ndarrays. If provided ndarrays having different memory layouts, the output ndarray has the default order.
  • dim: dimension along which to concatenate input ndarrays (optional). Must be a negative integer. The index of the dimension along which to concatenate is resolved relative to the last dimension, with the last dimension corresponding to the value -1. Default: -1.

concat.assign( arrays, out[, dim] )

Concatenates a list of ndarrays along a specified ndarray dimension and assigns results to an output ndarray.

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

var x = array( [ [ -1.0, 2.0 ], [ -3.0, 4.0 ] ] );
var y = array( [ [ -5.0, 6.0, -7.0 ], [ 8.0, -9.0, 10.0 ] ] );

var z = zeros( [ 2, 5 ] );

var out = concat.assign( [ x, y ], z, -1 );
// returns <ndarray>

var bool = ( out === z );
// returns true

var arr = ndarray2array( z );
// returns [ [ -1.0, 2.0, -5.0, 6.0, -7.0 ], [ -3.0, 4.0, 8.0, -9.0, 10.0 ] ]

The function accepts the following arguments:

  • arrays: a list of input ndarrays. Must be broadcast compatible except for the dimension along which to concatenate. Must promote to a data type which can be (mostly) safely cast to the data type of the output ndarray.
  • out: output ndarray.
  • dim: dimension along which to concatenate input ndarrays (optional). Must be a negative integer. The index of the dimension along which to concatenate is resolved relative to the last dimension, with the last dimension corresponding to the value -1. Default: -1.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var ndarray = require( '@stdlib/ndarray/ctor' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var concat = require( '@stdlib/ndarray/concat' );

var xbuf = discreteUniform( 6, 0, 10, {
    'dtype': 'generic'
});
var x = new ndarray( 'generic', xbuf, [ 2, 3 ], [ 3, 1 ], 0, 'row-major' );
console.log( ndarray2array( x ) );

var ybuf = discreteUniform( 8, 0, 10, {
    'dtype': 'generic'
});
var y = new ndarray( 'generic', ybuf, [ 2, 4 ], [ 4, 1 ], 0, 'row-major' );
console.log( ndarray2array( y ) );

var out = concat( [ x, y ], -1 );
console.log( ndarray2array( out ) );