Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "stats/incr/mprod/docs/types/index.d"

Index

Type aliases

Functions

Type aliases

accumulator

accumulator: (x?: undefined | number) => number | null

If provided a value, returns an updated product; otherwise, returns the current product.

Notes

  • If provided NaN or a value which, when used in computations, results in NaN, the accumulated value is NaN for all future invocations.
  • For long running accumulations or accumulations of large numbers, care should be taken to prevent overflow. Note, however, that overflow/underflow may be transient, as the accumulator does not use a double-precision floating-point number to store an accumulated product. Instead, the accumulator splits an accumulated product into a normalized fraction and exponent and updates each component separately. Doing so guards against a loss in precision.
param

value

returns

product

Type declaration

    • (x?: undefined | number): number | null
    • Parameters

      • Optional x: undefined | number

      Returns number | null

Functions

Export assignment incrmprod

  • Returns an accumulator function which incrementally computes a moving product.

    Notes

    • The W parameter defines the number of values over which to compute the moving product.
    • As W values are needed to fill the window buffer, the first W-1 returned values are calculated from smaller sample sizes. Until the window is full, each returned value is calculated from all provided values.
    throws

    must provide a positive integer

    Parameters

    • W: number

      window size

    Returns accumulator

    accumulator function

    Example

    var accumulator = incrmprod( 3 );
    
    var p = accumulator();
    // returns null
    
    p = accumulator( 2.0 );
    // returns 2.0
    
    p = accumulator( -5.0 );
    // returns -10.0
    
    p = accumulator( 3.0 );
    // returns -30.0
    
    p = accumulator( 5.0 );
    // returns -75.0
    
    p = accumulator();
    // returns -75.0