Skip to content

Latest commit

 

History

History
129 lines (80 loc) · 3.05 KB

File metadata and controls

129 lines (80 loc) · 3.05 KB

gcusum

Compute the cumulative sum of a one-dimensional ndarray.

Usage

var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );

gcusum( arrays )

Computes the cumulative sum of a one-dimensional ndarray.

var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );

var xbuf = [ 1.0, 3.0, 4.0, 2.0 ];
var x = new ndarray( 'generic', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );

var ybuf = [ 0.0, 0.0, 0.0, 0.0 ];
var y = new ndarray( 'generic', ybuf, [ 4 ], [ 1 ], 0, 'row-major' );

var initial = scalar2ndarray( 0.0, 'generic', 'row-major' );

var v = gcusum( [ x, y, initial ] );
// returns <ndarray>[ 1.0, 4.0, 8.0, 10.0 ]

var bool = ( v === y );
// returns true

The function has the following parameters:

  • arrays: array-like object containing a one-dimensional input ndarray, a one-dimensional output ndarray, and a zero-dimensional ndarray containing the initial sum.

Notes

  • If provided an empty one-dimensional input ndarray, the function returns the output ndarray unchanged.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );
var zerosLike = require( '@stdlib/ndarray/zeros-like' );
var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );

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

var y = zerosLike( x );
console.log( ndarray2array( y ) );

var initial = scalar2ndarray( 100.0, {
    'dtype': 'generic'
});

var v = gcusum( [ x, y, initial ] );
console.log( ndarray2array( v ) );