Skip to content

Latest commit

 

History

History
118 lines (73 loc) · 2.66 KB

File metadata and controls

118 lines (73 loc) · 2.66 KB

incrnanmaxabs

Compute a maximum absolute value incrementally, ignoring NaN values.

Usage

var incrnanmaxabs = require( '@stdlib/stats/incr/nanmaxabs' );

incrnanmaxabs()

Returns an accumulator function which incrementally computes a maximum absolute value, ignoring NaN values.

var accumulator = incrnanmaxabs();

accumulator( [x] )

If provided an input value x, the accumulator function returns an updated maximum absolute value. If not provided an input value x, the accumulator function returns the current maximum absolute value.

var accumulator = incrnanmaxabs();

var max = accumulator( 2.0 );
// returns 2.0

max = accumulator( 1.0 );
// returns 2.0

max = accumulator( NaN );
// returns 2.0

max = accumulator( -3.0 );
// returns 3.0

max = accumulator();
// returns 3.0

Notes

  • Input values are not type checked. If non-numeric inputs are possible, you are advised to type check and handle accordingly before passing the value to the accumulator function.

Examples

var uniform = require( '@stdlib/random/base/uniform' );
var bernoulli = require( '@stdlib/random/base/bernoulli' );
var incrnanmaxabs = require( '@stdlib/stats/incr/nanmaxabs' );

// Initialize an accumulator:
var accumulator = incrnanmaxabs();

// For each simulated datum, update the max absolute value...
var i;
for ( i = 0; i < 100; i++ ) {
    accumulator( ( bernoulli( 0.8 ) < 1 ) ? NaN : uniform( -50.0, 50.0 ) );
}
console.log( accumulator() );