diff --git a/lib/node_modules/@stdlib/ml/base/loss/float64/modified-huber-gradient/README.md b/lib/node_modules/@stdlib/ml/base/loss/float64/modified-huber-gradient/README.md index 044a3fbe80a5..7b733e8df658 100644 --- a/lib/node_modules/@stdlib/ml/base/loss/float64/modified-huber-gradient/README.md +++ b/lib/node_modules/@stdlib/ml/base/loss/float64/modified-huber-gradient/README.md @@ -24,7 +24,7 @@ limitations under the License.
-The [modified huber loss gradient][modified-huber-loss-gradient] is defined as +The [modified Huber loss gradient][modified-huber-loss-gradient] is defined as @@ -73,12 +73,15 @@ The function accepts the following arguments: If any argument is `NaN`, the function returns `NaN`. ```javascript -var v = modifiedHuberGradient( 2.0, NaN, 0.782 ); +var v = modifiedHuberGradient( NaN, 1.0, 0.782 ); // returns NaN v = modifiedHuberGradient( 1.0, NaN, 0.782 ); // returns NaN +v = modifiedHuberGradient( 1.0, 1.0, NaN ); +// returns NaN + v = modifiedHuberGradient( NaN, NaN, NaN ); // returns NaN ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.factory.js index 8c38761b5c06..4d3002b675b6 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.factory.js @@ -130,12 +130,12 @@ tape( 'the created function evaluates the pdf for `x` given `mu` and `sigma`', f sigma = data.sigma; for ( i = 0; i < x.length; i++ ) { - pdf = factory( mu[i], sigma[i] ); - y = pdf( x[i] ); - if ( y === expected[i] ) { - t.strictEqual(y, expected[i], 'x: '+x[i]+', mu: '+mu[i]+', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i]); + pdf = factory( mu[ i ], sigma[ i ] ); + y = pdf( x[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'x: '+x[ i ]+', mu: '+mu[ i ]+', sigma: '+sigma[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { - t.ok( isAlmostSameValue( y, expected[i], 1 ), 'within tolerance. x: '+x[i]+'. mu: '+mu[i]+'. sigma: '+sigma[i]+'. y: '+y+'. expected: '+expected[i]+'.' ); + t.ok( isAlmostSameValue( y, expected[ i ], 1 ), 'within tolerance. x: '+x[ i ]+'. mu: '+mu[ i ]+'. sigma: '+sigma[ i ]+'. y: '+y+'. expected: '+expected[ i ]+'.' ); } } t.end(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.main.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.main.js index f81edc7c26b0..f181782776dc 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.main.js @@ -95,11 +95,11 @@ tape( 'the function evaluates the pdf for `x` given `mu` and `sigma`', function sigma = data.sigma; for ( i = 0; i < x.length; i++ ) { - y = pdf( x[i], mu[i], sigma[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', mu: '+mu[i]+', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i] ); + y = pdf( x[ i ], mu[ i ], sigma[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'x: '+x[ i ]+', mu: '+mu[ i ]+', sigma: '+sigma[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { - t.ok( isAlmostSameValue( y, expected[i], 1 ), 'within tolerance. x: '+x[i]+'. mu: '+mu[i]+'. sigma: '+sigma[i]+'. y: '+y+'. expected: '+expected[i]+'.' ); + t.ok( isAlmostSameValue( y, expected[ i ], 1 ), 'within tolerance. x: '+x[ i ]+'. mu: '+mu[ i ]+'. sigma: '+sigma[ i ]+'. y: '+y+'. expected: '+expected[ i ]+'.' ); } } t.end(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.native.js index b3e29011fe83..1e24e35f3479 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/pdf/test/test.native.js @@ -104,11 +104,11 @@ tape( 'the function evaluates the pdf for `x` given `mu` and `sigma`', opts, fun sigma = data.sigma; for ( i = 0; i < x.length; i++ ) { - y = pdf( x[i], mu[i], sigma[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', mu: '+mu[i]+', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i] ); + y = pdf( x[ i ], mu[ i ], sigma[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'x: '+x[ i ]+', mu: '+mu[ i ]+', sigma: '+sigma[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { - t.ok( isAlmostSameValue( y, expected[i], 1 ), 'within tolerance. x: '+x[i]+'. mu: '+mu[i]+'. sigma: '+sigma[i]+'. y: '+y+'. expected: '+expected[i]+'.' ); + t.ok( isAlmostSameValue( y, expected[ i ], 1 ), 'within tolerance. x: '+x[ i ]+'. mu: '+mu[ i ]+'. sigma: '+sigma[ i ]+'. y: '+y+'. expected: '+expected[ i ]+'.' ); } } t.end(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/include/stdlib/stats/base/dists/invgamma/quantile.h b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/include/stdlib/stats/base/dists/invgamma/quantile.h index b6562517bcfa..16b45a906e60 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/include/stdlib/stats/base/dists/invgamma/quantile.h +++ b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/include/stdlib/stats/base/dists/invgamma/quantile.h @@ -27,7 +27,7 @@ extern "C" { #endif /** -* Evaluates the quantile function for an inverse gamma distribution. +* Evaluates the quantile function for an inverse gamma distribution with shape parameter `alpha` and scale parameter `beta` at a probability `p`. */ double stdlib_base_dists_invgamma_quantile( const double p, const double alpha, const double beta ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/src/main.c index 87102cdbe13b..ccdd302eb156 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/src/main.c @@ -21,7 +21,7 @@ #include "stdlib/math/base/assert/is_nan.h" /** -* Evaluates the quantile function for an inverse gamma distribution. +* Evaluates the quantile function for an inverse gamma distribution with shape parameter `alpha` and scale parameter `beta` at a probability `p`. * * @param p input value * @param alpha shape parameter diff --git a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/test/test.native.js index 4c0f2d68cc46..da74540e3eb5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/invgamma/quantile/test/test.native.js @@ -140,13 +140,13 @@ tape( 'the function evaluates the quantile for `x` given large parameters `alpha beta = bothLarge.beta; p = bothLarge.p; for ( i = 0; i < p.length; i++ ) { - y = quantile( p[i], alpha[i], beta[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'p: '+p[i]+', alpha: '+alpha[i]+', beta: '+beta[i]+', y: '+y+', expected: '+expected[i] ); + y = quantile( p[ i ], alpha[ i ], beta[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'p: '+p[ i ]+', alpha: '+alpha[ i ]+', beta: '+beta[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { delta = abs( y - expected[ i ] ); tol = 200.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[i]+'. beta: '+beta[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[ i ]+'. beta: '+beta[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } t.end(); @@ -167,19 +167,19 @@ tape( 'the function evaluates the quantile for `x` given large shape parameter ` beta = largeShape.beta; p = largeShape.p; for ( i = 0; i < p.length; i++ ) { - y = quantile( p[i], alpha[i], beta[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'p: '+p[i]+', alpha: '+alpha[i]+', beta: '+beta[i]+', y: '+y+', expected: '+expected[i] ); + y = quantile( p[ i ], alpha[ i ], beta[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'p: '+p[ i ]+', alpha: '+alpha[ i ]+', beta: '+beta[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { delta = abs( y - expected[ i ] ); tol = 100.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[i]+'. beta: '+beta[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[ i ]+'. beta: '+beta[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } t.end(); }); -tape( 'the function evaluates the quantile for `x` given large rate parameter `beta`', opts, function test( t ) { +tape( 'the function evaluates the quantile for `x` given large scale parameter `beta`', opts, function test( t ) { var expected; var delta; var alpha; @@ -194,13 +194,13 @@ tape( 'the function evaluates the quantile for `x` given large rate parameter `b beta = largeRate.beta; p = largeRate.p; for ( i = 0; i < p.length; i++ ) { - y = quantile( p[i], alpha[i], beta[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'p: '+p[i]+', alpha: '+alpha[i]+', beta: '+beta[i]+', y: '+y+', expected: '+expected[i] ); + y = quantile( p[ i ], alpha[ i ], beta[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[ i ], 'p: '+p[ i ]+', alpha: '+alpha[ i ]+', beta: '+beta[ i ]+', y: '+y+', expected: '+expected[ i ] ); } else { delta = abs( y - expected[ i ] ); tol = 50.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[i]+'. beta: '+beta[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + t.ok( delta <= tol, 'within tolerance. p: '+p[ i ]+'. alpha: '+alpha[ i ]+'. beta: '+beta[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } t.end();