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..56259dd2e510 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, 100.0 ); + r[ i ] = discreteUniform( 1, 100 ); + p[ i ] = uniform( EPS, 1 ); + } + 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, 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' ); } 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..e0767228f0e0 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, 100.0 ); + } 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, 100.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.r = ceil( ( 100.0*randu() ) + EPS ); + dist.r = x[i % 100]; 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..a5dcba37b734 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.0 ); + 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..1b29d34929b4 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.0, 100.0 ); + r[ i ] = discreteUniform( 1.0, 100.0 ); + 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' ); } 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..174daf1530aa 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.0 ); + 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..1e22896e8e3f 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.0, 100.0 ); + } + 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..80fdb04fa1c0 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.0, 100.0 ); + 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..d205997a1c37 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, 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..139b13757a53 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, 1 ); + } + 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, 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..0aabf7f1752f 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.0, 100.0 ); + 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..9941eaf9beec 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.0 ); + 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..85f7560a496f 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.0, 100.0 ); + 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' ); }