iterprod

Compute the product of all iterated values.

The product is defined as

p equals product Underscript i equals 0 Overscript n minus 1 Endscripts x Subscript i

Usage

var iterprod = require( '@stdlib/stats/iter/prod' );

iterprod( iterator )

Computes the product of all iterated values.

var array2iterator = require( '@stdlib/array/to-iterator' );

var arr = array2iterator( [ -1.0, -2.0, -3.0, 4.0 ] );

var p = iterprod( arr );
// returns -24.0

Notes

  • If an iterated value is non-numeric (including NaN), the returned iterator returns NaN. If non-numeric iterated values are possible, you are advised to provide an iterator which type checks and handles non-numeric values accordingly.
  • For iterators which can generate many values or which may output large numbers, care should be taken to prevent overflow.

Examples

var runif = require( '@stdlib/random/iter/uniform' );
var iterprod = require( '@stdlib/stats/iter/prod' );

// Create an iterator for generating uniformly distributed pseudorandom numbers:
var rand = runif( -10.0, 10.0, {
    'seed': 1234,
    'iter': 100
});

// Compute the product:
var p = iterprod( rand );
// returns <number>

console.log( 'Product: %d.', p );