From b00f55036b1e7c9f6af0adbccd36e7dc8e66b611 Mon Sep 17 00:00:00 2001 From: hrshya Date: Fri, 16 Jan 2026 18:38:18 +0530 Subject: [PATCH] bench: update random value generation --- .../ctor/benchmark/benchmark.js | 193 +++++++++--------- 1 file changed, 95 insertions(+), 98 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/ctor/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/ctor/benchmark/benchmark.js index 3bc42b9925c5..653dd2458517 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/ctor/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/ctor/benchmark/benchmark.js @@ -21,9 +21,8 @@ // MODULES // 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/array/uniform' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -34,22 +33,20 @@ var NegativeBinomial = require( './../lib' ); bench( pkg+'::instantiation', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var i; - len = 100; - r = new Float64Array( len ); - p = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - r[ i ] = discreteUniform( 1, 50 ); - p[ i ] = uniform( EPS, 1.0 ); - } + opts = { + 'dtype': 'float64' + }; + r = discreteUniform( 100, 1, 50, opts ); + p = uniform( 100, EPS, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist = new NegativeBinomial( r[ i % len ], p[ i % len ] ); + dist = new NegativeBinomial( r[ i % r.length ], p[ i % p.length ] ); if ( !( dist instanceof NegativeBinomial ) ) { b.fail( 'should return a distribution instance' ); } @@ -90,7 +87,7 @@ bench( pkg+'::get:r', function benchmark( b ) { bench( pkg+'::set:r', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var y; @@ -99,16 +96,16 @@ bench( pkg+'::set:r', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - y = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - y[ i ] = discreteUniform( 1, 50 ); - } + + opts = { + 'dtype': 'float64' + }; + y = discreteUniform( 100, 1, 50, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = y[ i % len ]; - if ( dist.r !== y[ i % len ] ) { + dist.r = y[ i % y.length ]; + if ( dist.r !== y[ i % y.length ] ) { b.fail( 'should return set value' ); } } @@ -148,7 +145,7 @@ bench( pkg+'::get:p', function benchmark( b ) { bench( pkg+'::set:p', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var y; @@ -157,16 +154,16 @@ bench( pkg+'::set:p', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - y = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - y[ i ] = uniform( EPS, 1.0 ); - } + + opts = { + 'dtype': 'float64' + }; + y = uniform( 100, EPS, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.p = y[ i % len ]; - if ( dist.p !== y[ i % len ] ) { + dist.p = y[ i % y.length ]; + if ( dist.p !== y[ i % y.length ] ) { b.fail( 'should return set value' ); } } @@ -180,7 +177,7 @@ bench( pkg+'::set:p', function benchmark( b ) { bench( pkg+':kurtosis', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -190,15 +187,15 @@ bench( pkg+':kurtosis', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.kurtosis; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -214,7 +211,7 @@ bench( pkg+':kurtosis', function benchmark( b ) { bench( pkg+':mean', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -224,15 +221,15 @@ bench( pkg+':mean', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.mean; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -248,7 +245,7 @@ bench( pkg+':mean', function benchmark( b ) { bench( pkg+':mode', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -258,15 +255,15 @@ bench( pkg+':mode', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.mode; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -282,7 +279,7 @@ bench( pkg+':mode', function benchmark( b ) { bench( pkg+':skewness', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -292,15 +289,15 @@ bench( pkg+':skewness', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.skewness; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -316,7 +313,7 @@ bench( pkg+':skewness', function benchmark( b ) { bench( pkg+':stdev', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -326,15 +323,15 @@ bench( pkg+':stdev', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.stdev; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -350,7 +347,7 @@ bench( pkg+':stdev', function benchmark( b ) { bench( pkg+':variance', function benchmark( b ) { var dist; - var len; + var opts; var x; var r; var p; @@ -360,15 +357,15 @@ bench( pkg+':variance', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1, 100 ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 1, 100, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len ]; + dist.r = x[ i % x.length ]; y = dist.variance; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -384,7 +381,7 @@ bench( pkg+':variance', function benchmark( b ) { bench( pkg+':cdf', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var x; @@ -394,15 +391,15 @@ bench( pkg+':cdf', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } + + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.cdf( x[ i % len ] ); + y = dist.cdf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -417,7 +414,7 @@ bench( pkg+':cdf', function benchmark( b ) { bench( pkg+':logpmf', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var x; @@ -427,15 +424,15 @@ bench( pkg+':logpmf', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 0, r ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 0, r, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.logpmf( x[ i % len ] ); + y = dist.logpmf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -450,7 +447,7 @@ bench( pkg+':logpmf', function benchmark( b ) { bench( pkg+':pmf', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var x; @@ -460,15 +457,15 @@ bench( pkg+':pmf', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 0, r ); - } + + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, 0, r, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.pmf( x[ i % len ] ); + y = dist.pmf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -483,7 +480,7 @@ bench( pkg+':pmf', function benchmark( b ) { bench( pkg+':quantile', function benchmark( b ) { var dist; - var len; + var opts; var r; var p; var x; @@ -493,15 +490,15 @@ bench( pkg+':quantile', function benchmark( b ) { r = 40; p = 0.6; dist = new NegativeBinomial( r, p ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } + + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.quantile( x[ i % len ] ); + y = dist.quantile( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); }