diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/lib/main.js index f93643b6a1da..dc41d6f22fd1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var ln = require( '@stdlib/math/base/special/ln' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/bradford/variance' ); // MAIN // @@ -58,12 +57,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( c ) { - var k; - if ( isnan( c ) || c <= 0.0 ) { - return NaN; - } - k = ln( 1.0 + c ); - return sqrt( ( ( ( 2.0+c ) * k ) - ( 2.0*c ) ) / ( 2.0*c*k*k ) ); + return sqrt( variance( c ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/manifest.json index 23b9fc7b9b4d..2b12b6554121 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/manifest.json @@ -39,9 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/ln", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bradford/variance" ] }, { @@ -56,9 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/ln", "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bradford/variance", "@stdlib/constants/float64/eps" ] }, @@ -74,9 +72,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/ln", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bradford/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/src/main.c index 2795f6b970ec..24ccca544d85 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/stdev/src/main.c @@ -17,9 +17,8 @@ */ #include "stdlib/stats/base/dists/bradford/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" -#include "stdlib/math/base/special/ln.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/bradford/variance.h" /** * Returns the standard deviation of a Bradford distribution. @@ -32,10 +31,5 @@ * // returns ~0.288 */ double stdlib_base_dists_bradford_stdev( const double c ) { - double k; - if ( stdlib_base_is_nan( c ) || c <= 0.0 ) { - return 0.0/0.0; // NaN - } - k = stdlib_base_ln( 1.0 + c ); - return stdlib_base_sqrt( ( ( ( 2.0+c ) * k ) - ( 2.0*c ) ) / ( 2.0*c*k*k ) ); + return stdlib_base_sqrt( stdlib_base_dists_bradford_variance( c ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/lib/main.js index fe1780bc217b..a03578e6b2de 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/chisquare/variance' ); // MAIN // @@ -49,10 +49,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( k ) { - if ( isnan( k ) || k < 0.0 ) { - return NaN; - } - return sqrt( 2.0 * k ); + return sqrt( variance( k ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/manifest.json index 92e6eeaf5483..a91f57eb1f09 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/manifest.json @@ -39,8 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/chisquare/variance" ] }, { @@ -55,8 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/chisquare/variance", "@stdlib/constants/float64/eps" ] }, @@ -72,8 +72,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/chisquare/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/src/main.c index bb5fee24982d..925347942f16 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/chisquare/stdev/src/main.c @@ -17,8 +17,8 @@ */ #include "stdlib/stats/base/dists/chisquare/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/chisquare/variance.h" /** * Returns the standard deviation of a chi-squared distribution. @@ -31,8 +31,5 @@ * // returns ~4.243 */ double stdlib_base_dists_chisquare_stdev( const double k ) { - if ( stdlib_base_is_nan( k ) || k < 0.0 ) { - return 0.0/0.0; //NaN - } - return stdlib_base_sqrt( 2.0 * k ); + return stdlib_base_sqrt( stdlib_base_dists_chisquare_variance( k ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/lib/main.js index 94417c82e2dc..2a06b32d290b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isNonNegativeInteger = require( '@stdlib/math/base/assert/is-nonnegative-integer' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); -var PINF = require( '@stdlib/constants/float64/pinf' ); +var variance = require( '@stdlib/stats/base/dists/hypergeometric/variance' ); // MAIN // @@ -72,18 +71,7 @@ var PINF = require( '@stdlib/constants/float64/pinf' ); * // returns NaN */ function stdev( N, K, n ) { - if ( - !isNonNegativeInteger( N ) || - !isNonNegativeInteger( K ) || - !isNonNegativeInteger( n ) || - N === PINF || - K === PINF || - K > N || - n > N - ) { - return NaN; - } - return sqrt( n * ( K/N ) * ( (N-K)/N ) * ( (N-n)/(N-1) ) ); + return sqrt( variance( N, K, n ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/manifest.json index 4229e8aea358..7329e8956f83 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/manifest.json @@ -39,7 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/ternary", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/hypergeometric/variance" ] }, { @@ -55,6 +56,7 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/hypergeometric/variance", "@stdlib/math/base/special/ceil" ] }, @@ -71,6 +73,7 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/hypergeometric/variance", "@stdlib/math/base/special/ceil" ] } diff --git a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/src/main.c index 41d0ce981fc2..94443c608b04 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/hypergeometric/stdev/src/main.c @@ -18,6 +18,7 @@ #include "stdlib/stats/base/dists/hypergeometric/stdev.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/hypergeometric/variance.h" #include /** @@ -33,13 +34,5 @@ * // returns ~0.829 */ double stdlib_base_dists_hypergeometric_stdev( const int32_t N, const int32_t K, const int32_t n ) { - double variance; - double p; - - if ( N < 0 || K < 0 || n < 0 || K > N || n > N ) { - return 0.0/0.0; // NaN - } - p = (double)K / (double)N; - variance = n * p * ( 1.0-p ) * ( (double)(N-n)/(double)(N-1) ); - return stdlib_base_sqrt( variance ); + return stdlib_base_sqrt( stdlib_base_dists_hypergeometric_variance( N, K, n ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/lib/main.js index 4e8b3dde0c0f..8e9a7c69bd21 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var beta = require( '@stdlib/math/base/special/beta' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/kumaraswamy/variance' ); // MAIN // @@ -63,19 +62,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( a, b ) { - var m1; - var m2; - if ( - isnan( a ) || - a <= 0.0 || - isnan( b ) || - b <= 0.0 - ) { - return NaN; - } - m1 = b * beta( 1.0 + ( 1.0/a ), b ); - m2 = b * beta( 1.0 + ( 2.0/a ), b ); - return sqrt( m2 - ( m1*m1 ) ); + return sqrt( variance( a, b ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/manifest.json index f1589a6b3c20..36571ca1e231 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/manifest.json @@ -39,9 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/binary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/beta", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/kumaraswamy/variance" ] }, { @@ -56,9 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/beta", "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/kumaraswamy/variance", "@stdlib/constants/float64/eps" ] }, @@ -74,9 +72,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/beta", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/kumaraswamy/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/src/main.c index 733a8b3418d0..049be831c014 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/kumaraswamy/stdev/src/main.c @@ -17,9 +17,8 @@ */ #include "stdlib/stats/base/dists/kumaraswamy/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" -#include "stdlib/math/base/special/beta.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/kumaraswamy/variance.h" /** * Returns the standard deviation of a Kumaraswamy's double bounded distribution. @@ -33,18 +32,5 @@ * // returns ~0.298 */ double stdlib_base_dists_kumaraswamy_stdev( const double a, const double b ) { - double m1; - double m2; - if ( - stdlib_base_is_nan( a ) || - a <= 0.0 || - stdlib_base_is_nan( b ) || - b <= 0.0 - ) { - return 0.0/0.0; // NaN - } - m1 = b * stdlib_base_beta( 1.0 + ( 1.0/a ), b ); - m2 = b * stdlib_base_beta( 1.0 + ( 2.0/a ), b ); - return stdlib_base_sqrt( m2 - ( m1*m1 ) ); + return stdlib_base_sqrt( stdlib_base_dists_kumaraswamy_variance( a, b ) ); } - diff --git a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/lib/main.js index 66e20dfa3ca5..f1d84ec9b454 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); -var exp = require( '@stdlib/math/base/special/exp' ); +var variance = require( '@stdlib/stats/base/dists/lognormal/variance' ); // MAIN // @@ -55,16 +54,7 @@ var exp = require( '@stdlib/math/base/special/exp' ); * // returns NaN */ function stdev( mu, sigma ) { - var s2; - if ( - isnan( mu ) || - isnan( sigma ) || - sigma <= 0.0 - ) { - return NaN; - } - s2 = sigma*sigma; - return sqrt( ( exp( s2 ) - 1.0 ) * exp( ( 2.0*mu ) + s2 ) ); + return sqrt( variance( mu, sigma ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/manifest.json index 7a0095b9cd91..4707b240a9d8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/manifest.json @@ -39,9 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/binary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/exp", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/lognormal/variance" ] }, { @@ -56,10 +55,9 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/constants/float64/eps", - "@stdlib/math/base/special/exp", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/lognormal/variance" ] }, { @@ -74,9 +72,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/exp", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/lognormal/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/src/main.c index 8d344ca711b9..554ccb3f0634 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/lognormal/stdev/src/main.c @@ -17,9 +17,8 @@ */ #include "stdlib/stats/base/dists/lognormal/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" -#include "stdlib/math/base/special/exp.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/lognormal/variance.h" /** * Returns the standard deviation for a lognormal distribution with location `mu` and scale `sigma`. @@ -33,14 +32,5 @@ * // returns ~2.161 */ double stdlib_base_dists_lognormal_stdev( const double mu, const double sigma ) { - double s2; - if ( - stdlib_base_is_nan( mu ) || - stdlib_base_is_nan( sigma ) || - sigma <= 0.0 - ) { - return 0.0 / 0.0; // NaN - } - s2 = sigma * sigma; - return stdlib_base_sqrt( ( stdlib_base_exp( s2 ) - 1.0 ) * stdlib_base_exp( ( 2.0 * mu ) + s2 ) ); + return stdlib_base_sqrt( stdlib_base_dists_lognormal_variance( mu, sigma ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/lib/main.js index 79247ac299b5..5f95d04ee006 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/lib/main.js @@ -20,10 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); -var pow = require( '@stdlib/math/base/special/pow' ); -var PINF = require( '@stdlib/constants/float64/pinf' ); +var variance = require( '@stdlib/stats/base/dists/pareto-type1/variance' ); // MAIN // @@ -64,20 +62,7 @@ var PINF = require( '@stdlib/constants/float64/pinf' ); * // returns NaN */ function stdev( alpha, beta ) { - var out; - if ( - isnan( alpha ) || - alpha <= 0.0 || - isnan( beta ) || - beta <= 0.0 - ) { - return NaN; - } - if ( alpha < 2.0 ) { - return PINF; - } - out = ( (beta*beta) * alpha ) / ( pow( alpha-1.0, 2.0 ) * ( alpha-2.0 ) ); - return sqrt( out ); + return sqrt( variance( alpha, beta ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/manifest.json index 9e265f4448e4..38db5587a87c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/manifest.json @@ -39,10 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/binary", - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/math/base/special/pow", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/pareto-type1/variance" ] }, { @@ -57,10 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/math/base/special/pow", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/pareto-type1/variance" ] }, { @@ -75,10 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/math/base/special/pow", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/pareto-type1/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/src/main.c index b6ee53700f55..91ba0f54d6c7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/stdev/src/main.c @@ -17,10 +17,8 @@ */ #include "stdlib/stats/base/dists/pareto-type1/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" -#include "stdlib/math/base/special/pow.h" -#include "stdlib/constants/float64/pinf.h" +#include "stdlib/stats/base/dists/pareto-type1/variance.h" /** * Returns the standard deviation of a Pareto (Type I) distribution. @@ -34,18 +32,5 @@ * // returns ~5.657 */ double stdlib_base_dists_pareto_type1_stdev( const double alpha, const double beta ) { - double out; - if ( - stdlib_base_is_nan( alpha ) || - alpha <= 0.0 || - stdlib_base_is_nan( beta ) || - beta <= 0.0 - ) { - return 0.0 / 0.0; // NaN - } - if ( alpha < 2.0 ) { - return STDLIB_CONSTANT_FLOAT64_PINF; - } - out = ( ( beta*beta ) * alpha ) / ( stdlib_base_pow( alpha-1.0, 2.0 ) * ( alpha-2.0 ) ); - return stdlib_base_sqrt( out ); + return stdlib_base_sqrt( stdlib_base_dists_pareto_type1_variance( alpha, beta ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/lib/main.js index ba06b60ec54d..5b21de6dd354 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/poisson/variance' ); // MAIN // @@ -49,10 +49,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( lambda ) { - if ( isnan( lambda ) || lambda < 0.0 ) { - return NaN; - } - return sqrt( lambda ); + return sqrt( variance( lambda ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/manifest.json index 546b58881775..0b0d3a84753f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/manifest.json @@ -39,8 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/poisson/variance" ] }, { @@ -55,8 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/poisson/variance" ] }, { @@ -71,8 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/poisson/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/src/main.c index 80f20f0bb68b..0ace0ea2cd0f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/poisson/stdev/src/main.c @@ -17,8 +17,8 @@ */ #include "stdlib/stats/base/dists/poisson/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/poisson/variance.h" /** * Returns the standard deviation of a Poisson distribution with parameter `lambda`. @@ -31,11 +31,5 @@ * // returns 3.0 */ double stdlib_base_dists_poisson_stdev( const double lambda ) { - if ( - stdlib_base_is_nan( lambda ) || - lambda < 0.0 - ) { - return 0.0/0.0; // NaN - } - return stdlib_base_sqrt( lambda ); + return stdlib_base_sqrt( stdlib_base_dists_poisson_variance( lambda ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/lib/main.js index 32e893097a7b..5e7267024bcd 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); -var PINF = require( '@stdlib/constants/float64/pinf' ); +var variance = require( '@stdlib/stats/base/dists/t/variance' ); // MAIN // @@ -54,13 +53,7 @@ var PINF = require( '@stdlib/constants/float64/pinf' ); * // returns NaN */ function stdev( v ) { - if ( isnan( v ) || v <= 1.0 ) { - return NaN; - } - if ( v <= 2.0 ) { - return PINF; - } - return sqrt( v / ( v - 2.0 ) ); + return sqrt( variance( v ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/manifest.json index 19b4bb84411b..fe212a46d56b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/manifest.json @@ -39,9 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/t/variance" ] }, { @@ -56,9 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/t/variance" ] }, { @@ -73,9 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/constants/float64/pinf" + "@stdlib/stats/base/dists/t/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/src/main.c index 12e06afd4f7a..b8cfb20958e7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/t/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/t/stdev/src/main.c @@ -17,9 +17,8 @@ */ #include "stdlib/stats/base/dists/t/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" -#include "stdlib/constants/float64/pinf.h" +#include "stdlib/stats/base/dists/t/variance.h" /** * Returns the standard deviation of a Student's t distribution. @@ -32,11 +31,5 @@ * // returns ~1.134 */ double stdlib_base_dists_t_stdev( const double v ) { - if ( stdlib_base_is_nan( v ) || v <= 1.0 ) { - return 0.0 / 0.0; // NaN - } - if ( v <= 2.0 ) { - return STDLIB_CONSTANT_FLOAT64_PINF; - } - return stdlib_base_sqrt( v / ( v - 2.0 ) ); + return stdlib_base_sqrt( stdlib_base_dists_t_variance( v ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/lib/main.js index c7012c662b6b..df370a5d0702 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/triangular/variance' ); // MAIN // @@ -67,15 +67,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( a, b, c ) { - if ( - isnan( a ) || - isnan( b ) || - isnan( c ) || - !( a <= c && c <= b ) - ) { - return NaN; - } - return sqrt( ( (a*a) + (b*b) + (c*c) - (a*b) - (a*c) - (b*c) ) / 18.0 ); + return sqrt( variance( a, b, c ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/manifest.json index b050c2ec550f..a1ec01aa013b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/manifest.json @@ -39,8 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/ternary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/triangular/variance" ] }, { @@ -55,8 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/triangular/variance" ] }, { @@ -71,8 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/triangular/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/src/main.c index 61d8a28bf115..b8c00dc2f411 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/src/main.c @@ -17,8 +17,8 @@ */ #include "stdlib/stats/base/dists/triangular/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/triangular/variance.h" /** * Returns the standard deviation of a triangular distribution. @@ -33,13 +33,5 @@ * // returns ~0.204 */ double stdlib_base_dists_triangular_stdev( const double a, const double b, const double c ) { - if ( - stdlib_base_is_nan( a ) || - stdlib_base_is_nan( b ) || - stdlib_base_is_nan( c ) || - !( a <= c && c <= b ) - ) { - return 0.0/0.0; // NaN - } - return stdlib_base_sqrt( ( ( a*a ) + ( b*b ) + ( c*c ) - ( a*b ) - ( a*c ) - ( b*c ) ) / 18.0 ); + return stdlib_base_sqrt( stdlib_base_dists_triangular_variance( a, b, c ) ); }