From ab976504c211b7d6208a7413e2d1ed4e0d31d325 Mon Sep 17 00:00:00 2001 From: Shubham Date: Fri, 9 Jan 2026 01:35:49 +0530 Subject: [PATCH 01/10] feat: add variance implementation for half-normal distribution --- .../base/dists/halfnormal/variance/README.md | 244 ++++++++++++++++++ .../variance/benchmark/benchmark.js | 52 ++++ .../variance/benchmark/benchmark.native.js | 67 +++++ .../halfnormal/variance/benchmark/c/Makefile | 146 +++++++++++ .../variance/benchmark/c/benchmark.c | 138 ++++++++++ .../dists/halfnormal/variance/binding.gyp | 170 ++++++++++++ .../dists/halfnormal/variance/docs/repl.txt | 33 +++ .../halfnormal/variance/docs/types/index.d.ts | 52 ++++ .../halfnormal/variance/docs/types/test.ts | 42 +++ .../halfnormal/variance/examples/c/Makefile | 146 +++++++++++ .../halfnormal/variance/examples/c/example.c | 38 +++ .../halfnormal/variance/examples/index.js | 39 +++ .../dists/halfnormal/variance/include.gypi | 53 ++++ .../stats/base/dists/halfnormal/variance.h | 38 +++ .../dists/halfnormal/variance/lib/index.js | 43 +++ .../dists/halfnormal/variance/lib/main.js | 64 +++++ .../dists/halfnormal/variance/lib/native.js | 58 +++++ .../dists/halfnormal/variance/manifest.json | 79 ++++++ .../dists/halfnormal/variance/package.json | 66 +++++ .../dists/halfnormal/variance/src/Makefile | 70 +++++ .../dists/halfnormal/variance/src/addon.c | 23 ++ .../base/dists/halfnormal/variance/src/main.c | 38 +++ .../variance/test/fixtures/julia/REQUIRE | 3 + .../variance/test/fixtures/julia/data.json | 1 + .../variance/test/fixtures/julia/runner.jl | 57 ++++ .../dists/halfnormal/variance/test/test.js | 90 +++++++ .../halfnormal/variance/test/test.native.js | 94 +++++++ 27 files changed, 1944 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/c/benchmark.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/binding.gyp create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/include.gypi create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/include/stdlib/stats/base/dists/halfnormal/variance.h create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/main.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/manifest.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/package.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/src/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/src/addon.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/src/main.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/fixtures/julia/data.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md new file mode 100644 index 000000000000..2d7e7f303729 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md @@ -0,0 +1,244 @@ + + +# Variance + +> [Half-normal][half-normal-distribution] distribution [variance][variance]. + + + +
+ +The [variance][variance] for a [half-normal][half-normal-distribution] random variable with scale parameter `σ > 0` is + + + +```math +\operatorname{Var}\left[ X \right] = \sigma^{2} \left(1 - \frac{2}{\pi}\right) +``` + + + + + +
+ + + + + +
+ +## Usage + +```javascript +var variance = require( '@stdlib/stats/base/dists/halfnormal/variance' ); +``` + +#### variance( sigma ) + +Returns the [variance][variance] for a [half-normal][half-normal-distribution] distribution with scale parameter `sigma`. + +```javascript +var y = variance( 1.0 ); +// returns ~0.363 + +y = variance( 4.0 ); +// returns ~5.818 + +y = variance( 0.5 ); +// returns ~0.091 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = variance( NaN ); +// returns NaN +``` + +If provided `sigma <= 0`, the function returns `NaN`. + +```javascript +var y = variance( 0.0 ); +// returns NaN + +y = variance( -1.0 ); +// returns NaN +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var variance = require( '@stdlib/stats/base/dists/halfnormal/variance' ); + +var opts = { + 'dtype': 'float64' +}; +var sigma = uniform( 10, 0.0, 20.0, opts ); + +logEachMap( 'σ: %0.4f, Var(X;σ): %0.4f', sigma, variance ); +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/halfnormal/variance.h" +``` + +#### stdlib_base_dists_halfnormal_variance( sigma ) + +Returns the variance for a [half-normal][half-normal-distribution] distribution with scale parameter `sigma`. + +- **sigma**: `[in] double` scale parameter. +- **return**: `[out] double` variance. + +```c +double stdlib_base_dists_halfnormal_variance( const double sigma ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/dists/halfnormal/variance.h" +#include +#include + +static double random_uniform( const double min, const double max ) { + double v = (double)rand() / ( (double)RAND_MAX + 1.0 ); + return min + ( v*(max-min) ); +} + +int main( void ) { + double sigma; + double y; + int i; + + for ( i = 0; i < 10; i++ ) { + sigma = random_uniform( 0.1, 20.0 ); + y = stdlib_base_dists_halfnormal_variance( sigma ); + printf( "σ: %.4f, Var(X;σ): %.4f\n", sigma, y ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + From 96d19ad1f4370ac02839385ff4705cc0b3324bc9 Mon Sep 17 00:00:00 2001 From: Shubham Date: Fri, 9 Jan 2026 02:00:12 +0530 Subject: [PATCH 03/10] fix: add relative path to import --- .../@stdlib/stats/base/dists/halfnormal/variance/lib/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/index.js index 904e5daa0d90..0f32370a5a56 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/lib/index.js @@ -35,7 +35,7 @@ // MODULES // -var variance = require( '@stdlib/stats/base/dists/halfnormal/variance/lib/main.js' ); +var variance = require( './main.js' ); // EXPORTS // From 68c6188fe9b23b148219ab3c0ff4ecfdf24f0d86 Mon Sep 17 00:00:00 2001 From: Shubham Date: Fri, 9 Jan 2026 02:04:33 +0530 Subject: [PATCH 04/10] fix: additional space before header --- .../stats/base/dists/halfnormal/variance/test/test.native.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js index e7f32903b989..654d600d12ad 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js @@ -40,6 +40,7 @@ var opts = { 'skip': ( variance instanceof Error ) }; + // TESTS // tape( 'main export is a function', opts, function test( t ) { From 6f33913f21c0748813c02da9678ae6951f89cbbb Mon Sep 17 00:00:00 2001 From: Shubham Date: Sun, 11 Jan 2026 13:08:09 +0530 Subject: [PATCH 05/10] fix: add requested suggestions --- .../halfnormal/variance/examples/c/example.c | 2 +- .../dists/halfnormal/variance/examples/index.js | 15 +++------------ .../base/dists/halfnormal/variance/package.json | 3 +++ .../base/dists/halfnormal/variance/test/test.js | 10 +++++----- .../dists/halfnormal/variance/test/test.native.js | 12 ++++++++---- 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/example.c index bbc51f993865..a040b9a8c8de 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/c/example.c @@ -33,6 +33,6 @@ int main( void ) { for ( i = 0; i < 10; i++ ) { sigma = random_uniform( 0.0, 20.0 ); y = stdlib_base_dists_halfnormal_variance( sigma ); - printf( "σ: %.4f, Var(X;σ): %.4f\n", sigma, y ); + printf( "σ: %lf, Var(X;σ): %lf\n", sigma, y ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js index 52bda6676058..15966e31d489 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js @@ -19,21 +19,12 @@ 'use strict'; var uniform = require( '@stdlib/random/array/uniform' ); -var logEach = require( '@stdlib/console/log-each' ); -var Float64Array = require( '@stdlib/array/float64' ); +var logEachMap = require( '@stdlib/console/log-each' ); var variance = require( './../lib' ); var opts = { 'dtype': 'float64' }; +var sigma = uniform( 10, 0.0, 20.0, opts ); -// Generate positive standard deviations: -var sigma = uniform( 10, 0.1, 20.0, opts ); -var v = new Float64Array( sigma.length ); - -var i; -for ( i = 0; i < sigma.length; i++ ) { - v[ i ] = variance( sigma[ i ] ); -} - -logEach( 'σ: %0.4f, Var(X;σ): %0.4f', sigma, v ); +logEachMap( 'σ: %0.4f, Var(X;σ): %0.4f', sigma, variance ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/package.json b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/package.json index 3a343833f093..850c60878b20 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/package.json +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/package.json @@ -60,6 +60,9 @@ "dist", "parameter", "continuous", + "variance", + "spread", + "dispersion", "halfnormal", "univariate" ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.js index 8b98bf49f70c..65fecaed2366 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.js @@ -75,14 +75,14 @@ tape( 'the function returns the variance of a half-normal distribution', functio for ( i = 0; i < sigma.length; i++ ) { v = variance( sigma[ i ] ); - delta = abs( v - expected[ i ] ); - tol = 1.0 * EPS * abs( expected[ i ] ); if ( expected[ i ] !== null ) { - if ( v === expected[ i ] || delta <= tol ) { - t.strictEqual( v, expected[ i ], 'sigma: '+sigma[ i ] ); + if ( v === expected[ i ] ) { + t.strictEqual( v, expected[i], ', sigma: '+sigma[i]+', v: '+v+', expected: '+expected[i] ); } else { - t.ok( delta <= tol, 'within tolerance. σ: '+sigma[ i ] ); + delta = abs( v - expected[ i ] ); + tol = 1.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. sigma: '+sigma[i]+'. v: '+v+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js index 654d600d12ad..bd81558662cf 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js @@ -25,6 +25,7 @@ var tape = require( 'tape' ); var tryRequire = require( '@stdlib/utils/try-require' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var abs = require( '@stdlib/math/base/special/abs' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -64,8 +65,11 @@ tape( 'if provided a nonpositive `sigma`, the function returns `NaN`', opts, fun y = variance( -1.0 ); t.strictEqual( isnan( y ), true, 'returns NaN' ); + y = variance( NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); -}); +}); tape( 'the function returns the variance of a half-normal distribution', opts, function test( t ) { var expected; @@ -84,10 +88,10 @@ tape( 'the function returns the variance of a half-normal distribution', opts, f tol = 1.0 * EPS * abs( expected[ i ] ); if ( expected[ i ] !== null ) { - if ( y === expected[ i ] || delta <= tol ) { - t.strictEqual( y, expected[ i ], 'sigma: '+sigma[ i ] ); + if ( y === expected[ i ] ) { + t.strictEqual( y, expected[i], ', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i] ); } else { - t.ok( delta <= tol, 'within tolerance. σ: '+sigma[ i ] ); + t.ok( delta <= tol, 'within tolerance. sigma: '+sigma[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } } From f6b0f01074112f38feae3ec3e9dc2d8f66f36711 Mon Sep 17 00:00:00 2001 From: Shubham Date: Sun, 11 Jan 2026 13:10:52 +0530 Subject: [PATCH 06/10] correction of import --- .../stats/base/dists/halfnormal/variance/examples/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js index 15966e31d489..bb2f2a276cf7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js @@ -19,7 +19,7 @@ 'use strict'; var uniform = require( '@stdlib/random/array/uniform' ); -var logEachMap = require( '@stdlib/console/log-each' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); var variance = require( './../lib' ); var opts = { From 2678965244956383d5714d6d419344d679b013f0 Mon Sep 17 00:00:00 2001 From: Shubham Date: Sun, 11 Jan 2026 13:25:28 +0530 Subject: [PATCH 07/10] remove trailing space --- .../stats/base/dists/halfnormal/variance/test/test.native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js index bd81558662cf..26ee1b8910fe 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js @@ -69,7 +69,7 @@ tape( 'if provided a nonpositive `sigma`, the function returns `NaN`', opts, fun t.strictEqual( isnan( y ), true, 'returns expected value' ); t.end(); -}); +}); tape( 'the function returns the variance of a half-normal distribution', opts, function test( t ) { var expected; From 55ca3e4469587d978112114a9689c017f588d8bd Mon Sep 17 00:00:00 2001 From: Shubham Date: Mon, 12 Jan 2026 13:31:52 +0530 Subject: [PATCH 08/10] match exisiting template for variance docs --- .../base/dists/halfnormal/variance/README.md | 16 ++++++++++++---- .../halfnormal/variance/benchmark/benchmark.js | 11 +++++++++-- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md index a72c9df4ea9f..1ac0e020ec62 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md @@ -31,7 +31,7 @@ The [variance][variance] for a [half-normal][half-normal-distribution] random va ```math -\operatorname{Var}\left[ X \right] = \sigma^{2} \left(1 - \frac{2}{\pi}\right) +\mathop{\mathrm{Var}}\left[ X \right] = \sigma^{2} \left(1 - \frac{2}{\pi}\right) ``` +* * * +
## C APIs @@ -168,6 +170,12 @@ logEachMap( 'σ: %0.4f, Var(X;σ): %0.4f', sigma, variance ); Returns the variance for a [half-normal][half-normal-distribution] distribution with scale parameter `sigma`. +```c +double out = stdlib_base_dists_halfnormal_variance( 1.0 ); +// returns ~0.3633802276 +``` +The function accepts the following arguments: + - **sigma**: `[in] double` scale parameter. - **return**: `[out] double` variance. @@ -211,7 +219,7 @@ int main( void ) { for ( i = 0; i < 10; i++ ) { sigma = random_uniform( 0.1, 20.0 ); y = stdlib_base_dists_halfnormal_variance( sigma ); - printf( "σ: %.4f, Var(X;σ): %.4f\n", sigma, y ); + printf( "σ: %lf, Var(X;σ): %lf\n", sigma, y ); } } ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.js index 4a91c801e414..71ce596970a1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/benchmark/benchmark.js @@ -21,6 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); +var Float64Array = require( '@stdlib/array/float64' ); var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -32,13 +33,19 @@ var variance = require( './../lib' ); bench( pkg, function benchmark( b ) { var sigma; + var len; var y; var i; + len = 100; + sigma = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + sigma[ i ] = ( randu() * 20.0 ) + EPS; + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - sigma = ( randu()*20.0 ) + EPS; - y = variance( sigma ); + y = variance( sigma[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From 5532193d325b90f676912660f2eda8584cc8e6de Mon Sep 17 00:00:00 2001 From: Shubham Date: Mon, 12 Jan 2026 16:02:15 +0530 Subject: [PATCH 09/10] update index.js --- .../@stdlib/stats/base/dists/halfnormal/variance/README.md | 1 + .../stats/base/dists/halfnormal/variance/examples/index.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md index 1ac0e020ec62..652754241455 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md @@ -174,6 +174,7 @@ Returns the variance for a [half-normal][half-normal-distribution] distribution double out = stdlib_base_dists_halfnormal_variance( 1.0 ); // returns ~0.3633802276 ``` + The function accepts the following arguments: - **sigma**: `[in] double` scale parameter. diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js index bb2f2a276cf7..9687b4f4ecfe 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/examples/index.js @@ -27,4 +27,4 @@ var opts = { }; var sigma = uniform( 10, 0.0, 20.0, opts ); -logEachMap( 'σ: %0.4f, Var(X;σ): %0.4f', sigma, variance ); +logEachMap( 'σ: %lf, Var(X;σ): %lf', sigma, variance ); From e3378cbea21e0d57b60e7bb0c713288e6ffa2c6d Mon Sep 17 00:00:00 2001 From: Shubham Date: Tue, 13 Jan 2026 11:03:16 +0530 Subject: [PATCH 10/10] add requested suggestions --- .../@stdlib/stats/base/dists/halfnormal/variance/README.md | 1 - .../base/dists/halfnormal/variance/test/test.native.js | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md index 652754241455..193696b7ef56 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/README.md @@ -178,7 +178,6 @@ double out = stdlib_base_dists_halfnormal_variance( 1.0 ); The function accepts the following arguments: - **sigma**: `[in] double` scale parameter. -- **return**: `[out] double` variance. ```c double stdlib_base_dists_halfnormal_variance( const double sigma ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js index 26ee1b8910fe..395e7a82e0a1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/variance/test/test.native.js @@ -52,7 +52,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'if provided `NaN`, the function returns `NaN`', opts, function test( t ) { var y = variance( NaN ); - t.strictEqual( isnan( y ), true, 'returns NaN' ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -60,10 +60,10 @@ tape( 'if provided a nonpositive `sigma`, the function returns `NaN`', opts, fun var y; y = variance( 0.0 ); - t.strictEqual( isnan( y ), true, 'returns NaN' ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); y = variance( -1.0 ); - t.strictEqual( isnan( y ), true, 'returns NaN' ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); y = variance( NINF ); t.strictEqual( isnan( y ), true, 'returns expected value' );