Skip to content

Latest commit

 

History

History
119 lines (74 loc) · 2.73 KB

File metadata and controls

119 lines (74 loc) · 2.73 KB

dnansum

Compute the sum of a one-dimensional double-precision floating-point ndarray, ignoring NaN values.

Usage

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

dnansum( arrays )

Computes the sum of a one-dimensional double-precision floating-point ndarray, ignoring NaN values.

var Float64Array = require( '@stdlib/array/float64' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );

var xbuf = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );

var v = dnansum( [ x ] );
// returns 1.0

The function has the following parameters:

  • arrays: array-like object containing a one-dimensional input ndarray.

Notes

  • If provided an empty one-dimensional ndarray, the function returns 0.0.

Examples

var bernoulli = require( '@stdlib/random/base/bernoulli' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var filledarrayBy = require( '@stdlib/array/filled-by' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var dnansum = require( '@stdlib/blas/ext/base/ndarray/dnansum' );

function clbk() {
    if ( bernoulli( 0.7 ) > 0 ) {
        return discreteUniform( 0, 100 );
    }
    return NaN;
}

var xbuf = filledarrayBy( 10, 'float64', clbk );
var x = new ndarray( 'float64', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
console.log( ndarray2array( x ) );

var v = dnansum( [ x ] );
console.log( v );