diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js index 456b5c86381a..ae770917c356 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js @@ -21,7 +21,8 @@ // 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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -34,17 +35,26 @@ bench( pkg, function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; + len = 100; + min = new Float64Array( len ); + max = new Float64Array( len ); + mode = new Float64Array( len ); + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); + x[ i ] = uniform( 0.0, 30.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 30.0; - min = randu() * 10.0; - max = min + ( randu() * 40.0 ) + EPS; - mode = min + ( ( max - min ) * randu() ); - y = cdf( x, min, max, mode ); + y = cdf( x[ i % len ], min[ i % len ], max[ i % len ], mode[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -62,19 +72,24 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; + len = 100; min = -1.5; max = 1.5; mode = 0.5; mycdf = cdf.factory( min, max, mode ); + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -2.0, 0.0 ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*2.0 ) - 2.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/triangular/ctor/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js index 41098d79b7b7..efddd4e93f09 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js @@ -21,7 +21,8 @@ // 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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,17 +33,26 @@ var Triangular = require( './../lib' ); bench( pkg+'::instantiation', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var i; + len = bm.iterations; + a = new Float64Array( len ); + b = new Float64Array( len ); + c = new Float64Array( len ); + + for ( i = 0; i < len; i++ ) { + a[ i ] = ( uniform( 0.0, 10.0 ) ) + EPS; + b[ i ] = ( uniform( 0.0, 10.0 ) ) + a[ i ] + EPS; + c[ i ] = ( uniform( 0.0, ( b[ i ] - a[ i ] ) ) ) + a[ i ]; + } + bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - a = ( randu() * 10.0 ) + EPS; - b = ( randu() * 10.0 ) + a + EPS; - c = ( randu() * ( b-a ) ) + a; - dist = new Triangular( a, b, c ); + dist = new Triangular( a[ i % len ], b[ i % len ], c[ i % len ] ); if ( !( dist instanceof Triangular ) ) { bm.fail( 'should return a distribution instance' ); } @@ -85,6 +95,7 @@ bench( pkg+'::get:a', function benchmark( bm ) { bench( pkg+'::set:a', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -96,11 +107,16 @@ bench( pkg+'::set:a', function benchmark( bm ) { c = 110.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + y = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + y[ i ] = uniform( EPS, 100.0 ); + } + bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - y = ( 100.0*randu() ) + EPS; - dist.a = y; - if ( dist.a !== y ) { + dist.a = y[ i % len ]; + if ( dist.a !== y[ i % len ] ) { bm.fail( 'should return set value' ); } } @@ -142,6 +158,7 @@ bench( pkg+'::get:b', function benchmark( bm ) { bench( pkg+'::set:b', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -152,17 +169,21 @@ bench( pkg+'::set:b', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); + len = 100; + y = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + y[ i ] = ( 100.0*uniform( 0.0, 1.0 ) ) + c + EPS; + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - y = ( 100.0*randu() ) + c + EPS; - dist.b = y; - if ( dist.b !== y ) { + dist.b = y[ i % len ]; + if ( dist.b !== y[ i % len ] ) { bm.fail( 'should return set value' ); } } bm.toc(); - if ( isnan( y ) ) { + if ( isnan( y[ ( i - 1 ) % len ] ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -199,6 +220,7 @@ bench( pkg+'::get:c', function benchmark( bm ) { bench( pkg+'::set:c', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -209,17 +231,21 @@ bench( pkg+'::set:c', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + y = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + y[ i ] = uniform( a, b ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - y = ( randu() * ( b-a ) ) + a; - dist.c = y; - if ( dist.c !== y ) { + dist.c = y[ i % len ]; + if ( dist.c !== y[ i % len] ) { bm.fail( 'should return set value' ); } } bm.toc(); - if ( isnan( y ) ) { + if ( isnan( y[ ( i - 1 ) % len ] ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -228,10 +254,12 @@ bench( pkg+'::set:c', function benchmark( bm ) { bench( pkg+':entropy', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; + var z; var i; a = 20.0; @@ -239,9 +267,14 @@ bench( pkg+':entropy', function benchmark( bm ) { c = 100.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.entropy; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -257,20 +290,27 @@ bench( pkg+':entropy', function benchmark( bm ) { bench( pkg+':kurtosis', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 120.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.kurtosis; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -286,20 +326,27 @@ bench( pkg+':kurtosis', function benchmark( bm ) { bench( pkg+':mean', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.mean; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -315,20 +362,27 @@ bench( pkg+':mean', function benchmark( bm ) { bench( pkg+':median', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.median; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -344,20 +398,28 @@ bench( pkg+':median', function benchmark( bm ) { bench( pkg+':skewness', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } + bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.skewness; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -373,20 +435,27 @@ bench( pkg+':skewness', function benchmark( bm ) { bench( pkg+':stdev', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 80.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.stdev; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -402,20 +471,27 @@ bench( pkg+':stdev', function benchmark( bm ) { bench( pkg+':variance', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var y; var i; + var z; a = 20.0; b = 140.0; c = 80.0; dist = new Triangular( a, b, c ); + len = bm.iterations; + z = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + z[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = z[ i % len ]; y = dist.variance; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -431,6 +507,7 @@ bench( pkg+':variance', function benchmark( bm ) { bench( pkg+':cdf', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -442,11 +519,14 @@ bench( pkg+':cdf', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); - + len = bm.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 60.0 ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - x = randu() * 60.0; - y = dist.cdf( x ); + y = dist.cdf( x[ i % len ] ); if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); } @@ -461,6 +541,7 @@ bench( pkg+':cdf', function benchmark( bm ) { bench( pkg+':mgf', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -472,11 +553,14 @@ bench( pkg+':mgf', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); - + len = bm.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 1.0 ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - x = randu(); - y = dist.mgf( x ); + y = dist.mgf( x[ i % len ] ); if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); } @@ -491,6 +575,7 @@ bench( pkg+':mgf', function benchmark( bm ) { bench( pkg+':pdf', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -502,11 +587,14 @@ bench( pkg+':pdf', function benchmark( bm ) { b = 40.0; c = 30; dist = new Triangular( a, b, c ); - + len = bm.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 60.0 ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - x = randu() * 60.0; - y = dist.pdf( x ); + y = dist.pdf( x[ i % len ] ); if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); } @@ -521,6 +609,7 @@ bench( pkg+':pdf', function benchmark( bm ) { bench( pkg+':quantile', function benchmark( bm ) { var dist; + var len; var a; var b; var c; @@ -532,11 +621,14 @@ bench( pkg+':quantile', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); - + len = bm.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 1.0 ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - x = randu(); - y = dist.quantile( x ); + y = dist.quantile( x[ i % len ] ); if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.js index 6fecfe125ded..9ae27c6e69eb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -33,20 +33,21 @@ var entropy = require( './../lib' ); bench( pkg, function benchmark( b ) { var mode; - var len; var min; var max; + var len; var y; var i; - len = 100; + len = b.iterations; min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 10.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js index 8260f4e7be0f..179750843246 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -42,20 +42,21 @@ var opts = { bench( pkg+'::native', opts, function benchmark( b ) { var mode; - var len; var min; var max; + var len; var y; var i; - len = 100; + len = b.iterations; min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 10.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.js index fc50ed087662..b9434d77ebd9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -33,25 +33,26 @@ var kurtosis = require( './../lib' ); bench( pkg, function benchmark( b ) { var mode; - var len; var min; var max; + var len; var y; var i; - len = 100; + len = b.iterations; min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 10.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = kurtosis( min[ i % len], max[ i % len], mode[ i % len] ); + y = kurtosis( min[ i % len ], max[ i % len ], mode[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js index ad4a5ec1df15..ec9a2cb1f57d 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -42,9 +42,9 @@ var opts = { bench( pkg+'::native', opts, function benchmark( b ) { var mode; - var len; var min; var max; + var len; var y; var i; @@ -53,14 +53,14 @@ bench( pkg+'::native', opts, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 10.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - y = median( min[ i % len ], max[ i % len ], mode[ i % len ] ); + for ( i = 0; i < len; i++ ) { + y = median( min[ i ], max[ i ], mode[ i ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js index caade3f3d97d..a329ffa24e46 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js @@ -21,7 +21,8 @@ // 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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -34,17 +35,27 @@ bench( pkg, function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; + len = b.iterations; + min = new Float64Array( len ); + max = new Float64Array( len ); + mode = new Float64Array( len ); + x = new Float64Array( len ); + + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 30.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 40.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 30.0; - min = randu() * 10.0; - max = min + ( randu() * 40.0 ) + EPS; - mode = min + ( ( max - min ) * randu() ); - y = logcdf( x, min, max, mode ); + y = logcdf( x[ i % len ], min[ i % len ], max[ i % len ], mode[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -62,6 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; @@ -71,10 +83,15 @@ bench( pkg+':factory', function benchmark( b ) { mode = 0.5; mylogcdf = logcdf.factory( min, max, mode ); + len = b.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -2.0, 0.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*2.0 ) - 2.0; - y = mylogcdf( x ); + y = mylogcdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js index b7584d0ab496..7a5dad5054e9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js @@ -21,7 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var Float64Array = require( '@stdlib/array/float64' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -47,10 +47,10 @@ bench( pkg, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = randu() * 30.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + x[ i ] = uniform( 0.0, 30.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 40.0 ) + EPS; + mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ); } b.tic(); @@ -73,6 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; @@ -82,10 +83,15 @@ bench( pkg+':factory', function benchmark( b ) { mode = 0.5; mylogpdf = logpdf.factory( min, max, mode ); + len = b.iterations; + x = new Float64Array(len); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -2.0, 0.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*2.0 ) - 2.0; - y = mylogpdf( x ); + y = mylogpdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js index 92de1db930bf..92e3c8c7b3f8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -56,10 +56,10 @@ bench( pkg+'::native', opts, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = randu() * 30.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + x[ i ] = uniform( 0.0, 30.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( EPS, 40.0 + EPS ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.js index 045b587b197a..cd1abe513e23 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var mean = require( './../lib' ); @@ -43,9 +43,9 @@ bench( pkg, function benchmark( b ) { bnd = new Float64Array( len ); c = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - a[ i ] = randu() * 20.0; - bnd[ i ] = ( randu() * 20.0 ) + a[ i ]; - c[ i ] = ( randu() * ( bnd[i] - a[i] ) ) + a[i]; + a[ i ] = uniform( 0.0, 20.0 ); + bnd[ i ] = uniform( a[ i ], 20.0 ); + c[ i ] = uniform( a[ i ], bnd[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js index 6b6f9fb39663..e405b431824d 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -52,9 +52,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { bnd = new Float64Array( len ); c = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - a[ i ] = ( randu() * 20.0 ); - bnd[ i ] = ( randu() * 20.0 ) + a[ i ]; - c[ i ] = ( randu() * ( bnd[i] - a[i] ) ) + a[i]; + a[ i ] = ( uniform( 0.0, 20.0 ) ); + bnd[ i ] = ( uniform( a[ i ], a[ i ] + 20.0 ) ); + c[ i ] = ( uniform( a[ i ], bnd[ i ] ) ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.js index 95f5edcf3813..a7f0f61e4cd0 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = ( uniform( 0.0, 10.0 ) ); + max[ i ] = ( uniform( min[ i ] + EPS, 10.0 ) ); + mode[ i ] = ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ) + min[ i ]; } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js index ad4a5ec1df15..896521c00a86 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -53,9 +53,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( 0.0, 10.0 ) + min[ i ] + EPS; + mode[ i ] = ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ) + min[ i ]; } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js index e14334a122ef..a1b3bdeecd2f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -47,10 +47,10 @@ bench( pkg, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - t[ i ] = randu() * 5.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + t[ i ] = uniform( 0, 5 ); + min[ i ] = uniform( 0, 10 ); + max[ i ] = min[ i ] + ( uniform( 0, 40 ) ) + EPS; + mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * uniform( 0, 1 ) ); } b.tic(); @@ -73,6 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var t; var y; var i; @@ -82,10 +83,16 @@ bench( pkg+':factory', function benchmark( b ) { mode = 0.5; mymgf = mgf.factory( min, max, mode ); + len = b.iterations; + t = new Float64Array( len ); + + for ( i = 0; i < len; i++ ) { + t[ i ] = uniform( 0, 5 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - t = randu() * 5.0; - 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/triangular/mgf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js index a00907214e1d..6349f18e7a83 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -56,10 +56,10 @@ bench( pkg+'::native', opts, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - t[ i ] = randu() * 5.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + t[ i ] = uniform( 0.0, 5.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + uniform( 0.0, 40.0 ) + EPS; + mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.js index 21b5585e90d1..b3b6c9a8e277 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var mode = require( './../lib' ); @@ -43,9 +43,9 @@ bench( pkg, function benchmark( b ) { bnd = new Float64Array( len ); c = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - a[ i ] = randu() * 20.0; - bnd[ i ] = ( randu() * 20.0 ) + a[ i ]; - c[ i ] = ( randu() * ( bnd[i] - a[i] ) ) + a[i]; + a[ i ] = uniform( 0.0, 20.0 ); + bnd[ i ] = ( uniform( 0.0, 20.0 ) ) + a[ i ]; + c[ i ] = ( uniform( 0.0, 1.0 ) * ( bnd[i] - a[i] ) ) + a[i]; } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js index 66d669f8c681..43b45e864d9b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -52,9 +52,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { bnd = new Float64Array( len ); c = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - a[ i ] = ( randu() * 20.0 ); // Lower bound - bnd[ i ] = ( randu() * 20.0 ) + a[ i ]; // Upper bound - c[ i ] = ( randu() * ( bnd[i] - a[i] ) ) + a[i]; // Mode + a[ i ] = uniform( 0.0, 20.0 ); // Lower bound + bnd[ i ] = uniform( a[i], 20.0 ); // Upper bound + c[ i ] = uniform( a[i], bnd[i] ); // Mode } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js index 2009ea83885a..8147d79b925a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js @@ -21,7 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var Float64Array = require( '@stdlib/array/float64' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -47,10 +47,10 @@ bench( pkg, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = randu() * 30.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + x[ i ] = uniform( 0.0, 30.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + ( uniform( 0.0, 40.0 ) ) + EPS; + mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ); } b.tic(); @@ -73,6 +73,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; @@ -81,11 +82,15 @@ bench( pkg+':factory', function benchmark( b ) { max = 1.5; mode = 0.5; mypdf = pdf.factory( min, max, mode ); + len = b.iterations; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = ( uniform( 0.0, 1.0 ) * 2.0 ) - 2.0; + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*2.0 ) - 2.0; - y = mypdf( x ); + y = mypdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js index 4020e9d53bf7..244237cd6128 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -56,10 +56,10 @@ bench( pkg+'::native', opts, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = randu() * 30.0; - min[ i ] = randu() * 10.0; - max[ i ] = min[ i ] + ( randu() * 40.0 ) + EPS; - mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * randu() ); + x[ i ] = uniform( 0.0, 30.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + ( uniform( 0.0, 40.0 ) + EPS ); + mode[ i ] = min[ i ] + ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js index 698bfd05fc91..cfcef69d67b0 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js @@ -21,7 +21,8 @@ // 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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -34,17 +35,26 @@ bench( pkg, function benchmark( b ) { var mode; var min; var max; + var len; var p; var y; var i; + len = b.iterations; + p = new Float64Array( len ); + min = new Float64Array( len ); + max = new Float64Array( len ); + mode = new Float64Array( len ); + + for ( i = 0; i < len; i++ ) { + p[ i ] = uniform( 0.0, 1.0 ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = min[ i ] + ( uniform( 0.0, 40.0 ) ) + EPS; + mode[ i ] = min[ i ] + uniform( 0.0, max[ i ] - min[ i ] ); + } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - p = randu(); - min = randu() * 10.0; - max = min + ( randu() * 40.0 ) + EPS; - mode = min + ( ( max - min ) * randu() ); - y = quantile( p, min, max, mode ); + y = quantile( p[ i % len], min[ i % len], max[ i % len], mode[ i % len] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -62,6 +72,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var p; var y; var i; @@ -71,10 +82,14 @@ bench( pkg+':factory', function benchmark( b ) { mode = 0.5; myquantile = quantile.factory( min, max, mode ); + len = b.iterations; + p = new Float64Array( len ); + 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' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.js index 67f389b0644f..d950759f74cc 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ] + EPS, 10.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js index 5442da8fc712..855ca9fbfe55 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -53,9 +53,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = ( uniform( 0.0, 10.0 ) ); + max[ i ] = ( uniform( 0.0, 10.0 ) ) + min[ i ] + EPS; + mode[ i ] = ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ) + min[ i ]; } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.js index 6ff669430883..bea164037629 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +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; @@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ], 10.0 ) + EPS; + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js index eece5edb2784..884b8d708e30 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js @@ -23,7 +23,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -53,9 +53,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu()*10.0 ); - max[ i ] = ( randu()*10.0 ) + min[ i ] + EPS; - mode[ i ] = ( ( max[ i ] - min[ i ] ) * randu() ) + min[ i ]; + min[ i ] = ( uniform( 0.0, 10.0 ) ); + max[ i ] = ( uniform( 0.0, 10.0 ) ) + min[ i ] + EPS; + mode[ i ] = ( ( max[ i ] - min[ i ] ) * uniform( 0.0, 1.0 ) ) + min[ i ]; } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.js index dcebaa3ef732..4871352ae520 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var variance = require( './../lib' ); @@ -43,9 +43,9 @@ bench( pkg, function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu() * 10.0 ); - max[ i ] = ( randu() * 10.0 ) + min[ i ]; - mode[ i ] = min[ i ] + ( randu() * ( max[ i ] - min[ i ] ) ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ], 10.0 + min[ i ] ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js index 88ab58c393fc..e09dfe17160e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var variance = require( './../lib' ); @@ -43,9 +43,9 @@ bench( pkg+'::native', function benchmark( b ) { max = new Float64Array( len ); mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - min[ i ] = ( randu() * 10.0 ); - max[ i ] = ( randu() * 10.0 ) + min[ i ]; - mode[ i ] = min[ i ] + ( randu() * ( max[ i ] - min[ i ] ) ); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ], min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic();