diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/factory.js index 359d8ab9191a..90a49480f20d 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/factory.js @@ -47,6 +47,7 @@ var NINF = require( '@stdlib/constants/float64/ninf' ); * // returns ~-0.129 */ function factory( mu, lambda ) { + var A; if ( isnan( mu ) || isnan( lambda ) || @@ -58,6 +59,7 @@ function factory( mu, lambda ) { if ( lambda === 0.0 ) { return degenerate( mu ); } + A = ln( lambda ) - LN_TWO_PI; return logpdf; /** @@ -79,8 +81,8 @@ function factory( mu, lambda ) { if ( x <= 0.0 || x === PINF ) { return NINF; } - v = x - mu; - return 0.5 * ( ln( lambda ) - ( LN_TWO_PI + ( 3.0 * ln( x ) ) ) - ( ( lambda * v * v ) / ( mu * mu * x ) ) ); + v = ( x - mu ) / mu; + return 0.5 * ( A - ( 3.0 * ln( x ) ) - ( ( ( lambda / x ) * v ) * v ) ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/main.js index f56813ff4d81..224b2c162142 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/lib/main.js @@ -93,8 +93,8 @@ function logpdf( x, mu, lambda ) { if ( x <= 0.0 || x === PINF ) { return NINF; } - v = x - mu; - return 0.5 * ( ln( lambda ) - ( LN_TWO_PI + ( 3.0 * ln( x ) ) ) - ( ( lambda * v * v ) / ( mu * mu * x ) ) ); + v = ( x - mu ) / mu; + return 0.5 * ( ln( lambda ) - ( LN_TWO_PI + ( 3.0 * ln( x ) ) ) - ( ( ( lambda / x ) * v ) * v ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/src/main.c index 6f980ed3e03a..a16b10448e71 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/logpdf/src/main.c @@ -53,6 +53,6 @@ double stdlib_base_dists_wald_logpdf( const double x, const double mu, const dou if ( x <= 0.0 || x == STDLIB_CONSTANT_FLOAT64_PINF ) { return STDLIB_CONSTANT_FLOAT64_NINF; } - v = x - mu; - return 0.5 * ( stdlib_base_ln( lambda ) - ( STDLIB_CONSTANT_FLOAT64_LN_TWO_PI + ( 3.0 * stdlib_base_ln( x ) ) ) - ( ( lambda * v * v ) / ( mu * mu * x ) ) ); + v = ( x - mu ) / mu; + return 0.5 * ( stdlib_base_ln( lambda ) - ( STDLIB_CONSTANT_FLOAT64_LN_TWO_PI + ( 3.0 * stdlib_base_ln( x ) ) ) - ( ( ( lambda / x ) * v ) * v ) ); }