From 4968b266a1f7d6105f00cfa972b01cccd9f8c340 Mon Sep 17 00:00:00 2001 From: AryanJ18 <18aryanj2006@gmail.com> Date: Wed, 7 Jan 2026 01:15:18 +0530 Subject: [PATCH 1/4] bench:refactor random number generation in stats/base/dists/signrank bench:refactor random number generation in stats/base/dists/signrank issue: #4986 --- .../dists/signrank/cdf/benchmark/benchmark.js | 27 +++++++++++++----- .../signrank/quantile/benchmark/benchmark.js | 28 ++++++++++++++----- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js index 16f764a8f1ae..572f522547b6 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); +var Float64Array = require( '@stdlib/array/float64' ); +var uniform = require('@stdlib/random/base/uniform'); +var discreteUniform = require('@stdlib/random/base/discrete-uniform'); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var cdf = require( './../lib' ); @@ -31,16 +32,23 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var n; var x; var y; var i; + + len = 100; + x = new Float64Array( len ); + n = new Float64Array( len ); + for ( i = 0; i < len; i++){ + x[ i ] = uniform( 0.0, 20.0 ); + n[ i ] = discreteUniform( 1, 20 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 20.0; - n = ceil( randu()*20.0 ); - y = cdf( x, n ); + y = cdf( x[ i % len ], n[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -55,18 +63,23 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mycdf; + var len; var n; var x; var y; var i; n = 20; + len = 100; mycdf = cdf.factory( n ); + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ){ + x[ i ] = uniform( 0.0, 20.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 20.0; - y = mycdf( x ); + y = mycdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js index 4203815cf574..4eee0c471815 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js @@ -21,26 +21,35 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var randint = require( '@stdlib/random/base/discrete-uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); +var uniform = require('@stdlib/random/base/uniform'); +var discreteUniform = require('@stdlib/random/base/discrete-uniform'); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var quantile = require( './../lib' ); +const discreteUniform = require('@stdlib/random/base/discrete-uniform'); // MAIN // bench( pkg, function benchmark( b ) { + var len; var n; var p; var y; var i; + + len = 100; + p = new Float64Array( len ); + n = new Float64Array( len ); + for ( i = 0; i < len; i++ ){ + p[ i ] = uniform( 0.0, 1.0 ); + n[ i ] = discreteUniform( 1, 200 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - p = randu(); - n = randint( 1, 200 ); - y = quantile( p, n ); + y = quantile( p[ i % len ], n[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -55,18 +64,23 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var myquantile; + var len; var n; var p; var y; var i; n = 8; + len = 100; + p = new Float64Array( len ); myquantile = quantile.factory( n ); + for ( i = 0; i < len; i++ ){ + p[ i ] = uniform( 0.0, 1.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - p = randu(); - y = myquantile( p ); + y = myquantile( p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From 1fafc430c853f9fec18a6e713ce2fca1014b16e4 Mon Sep 17 00:00:00 2001 From: AryanJ18 <18aryanj2006@gmail.com> Date: Wed, 7 Jan 2026 01:27:45 +0530 Subject: [PATCH 2/4] bench: refactor random number generation in stats/base/dists/signrank bench: refactor random number generation in stats/base/dists/signrank issue: #4986 --- .../base/dists/signrank/quantile/benchmark/benchmark.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js index 4eee0c471815..f04931976e80 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js @@ -22,12 +22,11 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require('@stdlib/random/base/uniform'); -var discreteUniform = require('@stdlib/random/base/discrete-uniform'); +var uniform = require('@stdlib/random/base/uniform' ); +var discreteUniform = require('@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var quantile = require( './../lib' ); -const discreteUniform = require('@stdlib/random/base/discrete-uniform'); // MAIN // From 1840479de3bb72765b3bf17d8b6243c899d54fc1 Mon Sep 17 00:00:00 2001 From: AryanJ18 <18aryanj2006@gmail.com> Date: Wed, 7 Jan 2026 01:35:55 +0530 Subject: [PATCH 3/4] bench: refactor random number generation in stats/base/dists/signrank --- .../stats/base/dists/signrank/cdf/benchmark/benchmark.js | 8 ++++---- .../base/dists/signrank/quantile/benchmark/benchmark.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js index 572f522547b6..7b4590687434 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js @@ -22,8 +22,8 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require('@stdlib/random/base/uniform'); -var discreteUniform = require('@stdlib/random/base/discrete-uniform'); +var uniform = require('@stdlib/random/base/uniform' ); +var discreteUniform = require('@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var cdf = require( './../lib' ); @@ -41,7 +41,7 @@ bench( pkg, function benchmark( b ) { len = 100; x = new Float64Array( len ); n = new Float64Array( len ); - for ( i = 0; i < len; i++){ + for ( i = 0; i < len; i++ ) { x[ i ] = uniform( 0.0, 20.0 ); n[ i ] = discreteUniform( 1, 20 ); } @@ -73,7 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { len = 100; mycdf = cdf.factory( n ); x = new Float64Array( len ); - for ( i = 0; i < len; i++ ){ + for ( i = 0; i < len; i++ ) { x[ i ] = uniform( 0.0, 20.0 ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js index f04931976e80..095e19494034 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js @@ -41,7 +41,7 @@ bench( pkg, function benchmark( b ) { len = 100; p = new Float64Array( len ); n = new Float64Array( len ); - for ( i = 0; i < len; i++ ){ + for ( i = 0; i < len; i++ ) { p[ i ] = uniform( 0.0, 1.0 ); n[ i ] = discreteUniform( 1, 200 ); } @@ -73,7 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { len = 100; p = new Float64Array( len ); myquantile = quantile.factory( n ); - for ( i = 0; i < len; i++ ){ + for ( i = 0; i < len; i++ ) { p[ i ] = uniform( 0.0, 1.0 ); } From 49ff7c66d3b90cd05c060f97817014ad90355b8f Mon Sep 17 00:00:00 2001 From: AryanJ18 <18aryanj2006@gmail.com> Date: Wed, 7 Jan 2026 01:43:52 +0530 Subject: [PATCH 4/4] bench: refactor random number generation in stats/base/dists/signrank --- .../stats/base/dists/signrank/cdf/benchmark/benchmark.js | 6 +++--- .../base/dists/signrank/quantile/benchmark/benchmark.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js index 7b4590687434..0c9e4b19ec97 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js @@ -22,8 +22,8 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require('@stdlib/random/base/uniform' ); -var discreteUniform = require('@stdlib/random/base/discrete-uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var cdf = require( './../lib' ); @@ -37,7 +37,7 @@ bench( pkg, function benchmark( b ) { var x; var y; var i; - + len = 100; x = new Float64Array( len ); n = new Float64Array( len ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js index 095e19494034..f17b89babd8e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js @@ -22,8 +22,8 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require('@stdlib/random/base/uniform' ); -var discreteUniform = require('@stdlib/random/base/discrete-uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var quantile = require( './../lib' ); @@ -37,7 +37,7 @@ bench( pkg, function benchmark( b ) { var p; var y; var i; - + len = 100; p = new Float64Array( len ); n = new Float64Array( len );