From 7d63503cf9c65ca8490baf004db85d75033f3860 Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Tue, 11 Feb 2025 22:45:49 +0530 Subject: [PATCH 1/6] bench: Refactor random number generation in stats/base/dists/negative-binomial --- .../cdf/benchmark/benchmark.js | 32 +++-- .../ctor/benchmark/benchmark.js | 130 ++++++++++++++---- .../kurtosis/benchmark/benchmark.js | 18 ++- .../logpmf/benchmark/benchmark.js | 33 +++-- .../mean/benchmark/benchmark.js | 18 ++- .../mgf/benchmark/benchmark.js | 34 +++-- .../mode/benchmark/benchmark.js | 18 ++- .../pmf/benchmark/benchmark.js | 29 ++-- .../quantile/benchmark/benchmark.js | 29 ++-- .../skewness/benchmark/benchmark.js | 18 ++- .../stdev/benchmark/benchmark.js | 18 ++- .../variance/benchmark/benchmark.js | 18 ++- 12 files changed, 297 insertions(+), 98 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js index 00524bb73043..ac6d30a1a118 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,18 +33,26 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var x; var y; var i; + len = 100; + x = new Float64Array( len ); + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 100.0 ); + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu()*100.0; - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = cdf( x, r, p ); + y = cdf( x[ i % len ], r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -58,6 +67,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mycdf; + var len; var r; var p; var x; @@ -67,11 +77,15 @@ bench( pkg+':factory', function benchmark( b ) { r = 80; p = 0.4; mycdf = cdf.factory( r, p ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100 ); - y = mycdf( x ); + y = mycdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -82,4 +96,4 @@ bench( pkg+':factory', function benchmark( b ) { } b.pass( 'benchmark finished' ); b.end(); -}); +}); \ No newline at end of file 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 4f21a44f8c58..c81876020162 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,10 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +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 ceil = require( '@stdlib/math/base/special/ceil' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; var NegativeBinomial = require( './../lib' ); @@ -33,15 +34,22 @@ var NegativeBinomial = require( './../lib' ); bench( pkg+'::instantiation', function benchmark( b ) { var dist; + var len; 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 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( ( randu() * 50.0 ) + EPS ); - p = randu() + EPS; - dist = new NegativeBinomial( r, p ); + dist = new NegativeBinomial( r[ i % len ], p[ i % len ] ); if ( !( dist instanceof NegativeBinomial ) ) { b.fail( 'should return a distribution instance' ); } @@ -82,6 +90,7 @@ bench( pkg+'::get:r', function benchmark( b ) { bench( pkg+'::set:r', function benchmark( b ) { var dist; + var len; var r; var p; var y; @@ -90,12 +99,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 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = ceil( ( randu() * 50.0 ) + EPS ); - dist.r = y; - if ( dist.r !== y ) { + dist.r = y[ i % len ]; + if ( dist.r !== y[ i % len ] ) { b.fail( 'should return set value' ); } } @@ -135,6 +148,7 @@ bench( pkg+'::get:p', function benchmark( b ) { bench( pkg+'::set:p', function benchmark( b ) { var dist; + var len; var r; var p; var y; @@ -143,12 +157,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 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = randu() + EPS; - dist.p = y; - if ( dist.p !== y ) { + dist.p = y[ i % len ]; + if ( dist.p !== y[ i % len ] ) { b.fail( 'should return set value' ); } } @@ -162,6 +180,8 @@ bench( pkg+'::set:p', function benchmark( b ) { bench( pkg+':kurtosis', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -170,10 +190,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[ i % len ]; y = dist.kurtosis; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -189,6 +214,8 @@ bench( pkg+':kurtosis', function benchmark( b ) { bench( pkg+':mean', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -197,10 +224,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[ i % len ]; y = dist.mean; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -216,6 +248,8 @@ bench( pkg+':mean', function benchmark( b ) { bench( pkg+':mode', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -224,10 +258,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[ i % len ]; y = dist.mode; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -243,6 +282,8 @@ bench( pkg+':mode', function benchmark( b ) { bench( pkg+':skewness', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -251,10 +292,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[i % len]; y = dist.skewness; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -270,6 +316,8 @@ bench( pkg+':skewness', function benchmark( b ) { bench( pkg+':stdev', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -278,10 +326,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[i % len]; y = dist.stdev; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -297,6 +350,8 @@ bench( pkg+':stdev', function benchmark( b ) { bench( pkg+':variance', function benchmark( b ) { var dist; + var len; + var x; var r; var p; var y; @@ -305,10 +360,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.0, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[ i % len]; y = dist.variance; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -324,6 +384,7 @@ bench( pkg+':variance', function benchmark( b ) { bench( pkg+':cdf', function benchmark( b ) { var dist; + var len; var r; var p; var x; @@ -333,11 +394,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 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu(); - y = dist.cdf( x ); + y = dist.cdf( x[i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -352,6 +417,7 @@ bench( pkg+':cdf', function benchmark( b ) { bench( pkg+':logpmf', function benchmark( b ) { var dist; + var len; var r; var p; var x; @@ -361,11 +427,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.0, r ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ceil( randu() * r ); - y = dist.logpmf( x ); + y = dist.logpmf( x[i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -380,6 +450,7 @@ bench( pkg+':logpmf', function benchmark( b ) { bench( pkg+':pmf', function benchmark( b ) { var dist; + var len; var r; var p; var x; @@ -389,11 +460,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.0, r ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ceil( randu() * r ); - y = dist.pmf( x ); + y = dist.pmf( x[i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -408,6 +483,7 @@ bench( pkg+':pmf', function benchmark( b ) { bench( pkg+':quantile', function benchmark( b ) { var dist; + var len; var r; var p; var x; @@ -417,11 +493,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 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu(); - y = dist.quantile( x ); + y = dist.quantile( x[i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.js index 61f54874ef13..3490d57a8687 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var kurtosis = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = kurtosis( r, p ); + y = kurtosis( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js index 33f6ef49dc8f..384fb7853b50 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js @@ -21,9 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var uniform = require( '@stdlib/random/base/uniform' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -33,18 +33,26 @@ var logpmf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var x; var y; var i; + len = 100; + x = new Float64Array( len ); + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = discreteUniform( 1, 100 ); + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ceil( randu()*100.0 ); - r = ceil( randu()*100.0 ); - p = uniform( EPS, 1.0 ); - y = logpmf( x, r, p ); + y = logpmf( x[ i % len ], r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -59,6 +67,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mylogpmf; + var len; var r; var p; var x; @@ -68,11 +77,15 @@ bench( pkg+':factory', function benchmark( b ) { r = 80; p = 0.4; mylogpmf = logpmf.factory( r, p ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0, 80 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*80 ); - y = mylogpmf( x ); + y = mylogpmf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -83,4 +96,4 @@ bench( pkg+':factory', function benchmark( b ) { } b.pass( 'benchmark finished' ); b.end(); -}); +}); \ No newline at end of file diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.js index bbc3465eb6f5..49a2f19da659 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var Float64Array = require( '@stdlib/array/float64' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var mean = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = mean( r, p ); + y = mean( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js index 1e5916cd87ee..481abc6f95eb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js @@ -22,8 +22,9 @@ var bench = require( '@stdlib/bench' ); var ln = require( '@stdlib/math/base/special/ln' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +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 EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -33,18 +34,30 @@ var mgf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var t; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + t = new Float64Array( len ); + + for ( i = 0; i < len; i++ ) { + p[ i ] = uniform( EPS, 1.0 ); + } + + for ( i = 0; i < len; i++ ) { + t[ i ] = uniform( 0.0, 1.0 ) * -ln( p[i] ); + r[ i ] = discreteUniform( 1, 100 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - t = randu() * -ln( p ); - y = mgf( t, r, p ); + y = mgf( t[ i % len ], r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -59,6 +72,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mymgf; + var len; var r; var p; var t; @@ -68,11 +82,15 @@ bench( pkg+':factory', function benchmark( b ) { r = 80; p = 0.4; mymgf = mgf.factory( r, p ); + len = 100; + t = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + t[i] = uniform(0.0, 1.0) * -ln(p); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - t = randu() * -ln( p ); - y = mymgf( t ); + y = mymgf( t[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mode/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mode/benchmark/benchmark.js index c08fb9956ff4..88ff3c643eeb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mode/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mode/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var mode = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = mode( r, p ); + y = mode( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js index 6a3e0161026a..baa3244d16f7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js @@ -21,9 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); var uniform = require( '@stdlib/random/base/uniform' ); -var randu = require( '@stdlib/random/base/randu' ); +var Float64Array = require( '@stdlib/array/float64' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -33,18 +33,26 @@ var pmf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var x; var y; var i; + len = 100; + x = new Float64Array( len ); + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = discreteUniform( 1, 100 ); + r[ i ] = discreteUniform( 1, 100 ); + p[i] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ceil( randu()*100.0 ); - r = ceil( randu()*100.0 ); - p = uniform( EPS, 1.0 ); - y = pmf( x, r, p ); + y = pmf( x[i % len], r[i % len], p[i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -59,6 +67,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mypmf; + var len; var r; var p; var x; @@ -68,11 +77,15 @@ bench( pkg+':factory', function benchmark( b ) { r = 80; p = 0.4; mypmf = pmf.factory( r, p ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 80.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*80 ); - y = mypmf( x ); + y = mypmf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/quantile/benchmark/benchmark.js index 983a092b9146..f14ad5fef5a2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/quantile/benchmark/benchmark.js @@ -21,8 +21,8 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var Float64Array = require( '@stdlib/array/float64' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -33,18 +33,26 @@ var quantile = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var k; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + k = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + k[ i ] = uniform( 0.0, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - k = randu(); - r = ceil( randu()*100.0 ); - p = uniform( EPS, 1.0 ); - y = quantile( k, r, p ); + y = quantile( k[ i % len ], r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -59,6 +67,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var myquantile; + var len; var r; var p; var k; @@ -68,11 +77,15 @@ bench( pkg+':factory', function benchmark( b ) { r = 80; p = 0.4; myquantile = quantile.factory( r, p ); + len = 100; + k = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + k[ i ] = uniform( 0.0, 1.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - k = randu(); - y = myquantile( k ); + y = myquantile( k[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/skewness/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/skewness/benchmark/benchmark.js index 1250b9b127c4..7c4f244711e3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/skewness/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/skewness/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var skewness = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = skewness( r, p ); + y = skewness( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/stdev/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/stdev/benchmark/benchmark.js index 75484a71f90f..ab78b4248983 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/stdev/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/stdev/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var stdev = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = stdev( r, p ); + y = stdev( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/variance/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/variance/benchmark/benchmark.js index 0e746ec1ed9a..4ecdf008170b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/variance/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/variance/benchmark/benchmark.js @@ -21,8 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var ceil = require( '@stdlib/math/base/special/ceil' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); +var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,16 +33,23 @@ var variance = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var r; var p; var y; var i; + len = 100; + r = new Float64Array( len ); + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - r = ceil( randu()*100.0 ); - p = ( randu()*1.0 ) + EPS; - y = variance( r, p ); + y = variance( r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From fafb4ff1c18fa2ac1f028499180963c328f23dd9 Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Tue, 11 Feb 2025 23:18:41 +0530 Subject: [PATCH 2/6] Trigger workflow re-run From e23cfe30a50346763fd2b524342e5d589a0feec0 Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Wed, 12 Feb 2025 09:02:21 +0530 Subject: [PATCH 3/6] bench: refactor random number generation in stats/base/dists/negative-binomial --- .../cdf/benchmark/benchmark.js | 4 +-- .../ctor/benchmark/benchmark.js | 30 +++++++++---------- .../logpmf/benchmark/benchmark.js | 4 +-- .../mgf/benchmark/benchmark.js | 5 +--- .../pmf/benchmark/benchmark.js | 2 +- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js index ac6d30a1a118..deafb2c139e2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js @@ -47,7 +47,7 @@ bench( pkg, function benchmark( b ) { for ( i = 0; i < len; i++ ) { x[ i ] = uniform( 0.0, 100.0 ); r[ i ] = discreteUniform( 1, 100 ); - p[ i ] = uniform( EPS, 1.0); + p[ i ] = uniform( EPS, 1.0 ); } b.tic(); @@ -96,4 +96,4 @@ bench( pkg+':factory', function benchmark( b ) { } b.pass( 'benchmark finished' ); b.end(); -}); \ No newline at end of file +}); 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 c81876020162..2562e14dbb8f 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 @@ -193,7 +193,7 @@ bench( pkg+':kurtosis', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); @@ -227,7 +227,7 @@ bench( pkg+':mean', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); @@ -261,7 +261,7 @@ bench( pkg+':mode', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); @@ -295,12 +295,12 @@ bench( pkg+':skewness', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[i % len]; + dist.r = x[ i % len ]; y = dist.skewness; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -329,12 +329,12 @@ bench( pkg+':stdev', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[i % len]; + dist.r = x[ i % len ]; y = dist.stdev; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -363,12 +363,12 @@ bench( pkg+':variance', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 1.0, 100.0 ); + x[ i ] = discreteUniform( 1, 100 ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = x[ i % len]; + dist.r = x[ i % len ]; y = dist.variance; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -402,7 +402,7 @@ bench( pkg+':cdf', function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.cdf( x[i % len] ); + y = dist.cdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -430,12 +430,12 @@ bench( pkg+':logpmf', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 0.0, r ); + x[ i ] = discreteUniform( 0, r ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.logpmf( x[i % len] ); + y = dist.logpmf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -463,12 +463,12 @@ bench( pkg+':pmf', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = discreteUniform( 0.0, r ); + x[ i ] = discreteUniform( 0, r ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.pmf( x[i % len] ); + y = dist.pmf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -501,7 +501,7 @@ bench( pkg+':quantile', function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.quantile( x[i % len] ); + y = dist.quantile( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js index 384fb7853b50..bc94f4b04e07 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js @@ -80,7 +80,7 @@ bench( pkg+':factory', function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0, 80 ); + x[ i ] = uniform( 0.0, 80.0 ); } b.tic(); @@ -96,4 +96,4 @@ bench( pkg+':factory', function benchmark( b ) { } b.pass( 'benchmark finished' ); b.end(); -}); \ No newline at end of file +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js index 481abc6f95eb..a23728f4d49e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js @@ -48,9 +48,6 @@ bench( pkg, function benchmark( b ) { for ( i = 0; i < len; i++ ) { p[ i ] = uniform( EPS, 1.0 ); - } - - for ( i = 0; i < len; i++ ) { t[ i ] = uniform( 0.0, 1.0 ) * -ln( p[i] ); r[ i ] = discreteUniform( 1, 100 ); } @@ -85,7 +82,7 @@ bench( pkg+':factory', function benchmark( b ) { len = 100; t = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - t[i] = uniform(0.0, 1.0) * -ln(p); + t[ i ] = uniform( 0.0, -ln( p ) ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js index baa3244d16f7..34d3d870252a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js @@ -52,7 +52,7 @@ bench( pkg, function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = pmf( x[i % len], r[i % len], p[i % len] ); + y = pmf( x[ i % len ], r[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From 84721c1d62e2a0083d9d04e8a79e271f8f3f804b Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Wed, 12 Feb 2025 09:18:14 +0530 Subject: [PATCH 4/6] Trigger workflow re-run From 7f0d85fb684b527b3edffc44f8aa861238b97d25 Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Thu, 13 Feb 2025 12:14:18 +0530 Subject: [PATCH 5/6] applied changes --- .../dists/negative-binomial/logpmf/benchmark/benchmark.js | 4 ++-- .../base/dists/negative-binomial/mgf/benchmark/benchmark.js | 3 +-- .../base/dists/negative-binomial/pmf/benchmark/benchmark.js | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js index bc94f4b04e07..6dbba616704c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js @@ -21,8 +21,8 @@ // MODULES // var bench = require( '@stdlib/bench' ); -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 Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js index a23728f4d49e..ffa02d2922a8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js @@ -45,10 +45,9 @@ bench( pkg, function benchmark( b ) { r = new Float64Array( len ); p = new Float64Array( len ); t = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { p[ i ] = uniform( EPS, 1.0 ); - t[ i ] = uniform( 0.0, 1.0 ) * -ln( p[i] ); + t[ i ] = uniform( 0.0, 1.0 ) * -ln( p[ i ] ); r[ i ] = discreteUniform( 1, 100 ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js index 34d3d870252a..963f45d41b05 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/pmf/benchmark/benchmark.js @@ -47,7 +47,7 @@ bench( pkg, function benchmark( b ) { for ( i = 0; i < len; i++ ) { x[ i ] = discreteUniform( 1, 100 ); r[ i ] = discreteUniform( 1, 100 ); - p[i] = uniform( EPS, 1.0 ); + p[ i ] = uniform( EPS, 1.0 ); } b.tic(); From 2799a4ff8d28d80e979a2a66d4b4e6b12aa8e61a Mon Sep 17 00:00:00 2001 From: Gopi Kishan Date: Mon, 17 Feb 2025 00:11:49 +0530 Subject: [PATCH 6/6] applied changes --- .../base/dists/negative-binomial/mgf/benchmark/benchmark.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js index ffa02d2922a8..d6fdfb306937 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mgf/benchmark/benchmark.js @@ -47,7 +47,7 @@ bench( pkg, function benchmark( b ) { t = new Float64Array( len ); for ( i = 0; i < len; i++ ) { p[ i ] = uniform( EPS, 1.0 ); - t[ i ] = uniform( 0.0, 1.0 ) * -ln( p[ i ] ); + t[ i ] = uniform( 0.0, -ln( p[ i ] ) ); r[ i ] = discreteUniform( 1, 100 ); }