From ae5c2bbc4002e8cf563f18503cf379482acc3133 Mon Sep 17 00:00:00 2001 From: G4URAV001 <gaurav70380@gmail.com> Date: Thu, 13 Feb 2025 14:37:01 +0000 Subject: [PATCH 1/3] bench(stats/base/dists/triangular): refactor random number generation in JS benchmarks --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../triangular/cdf/benchmark/benchmark.js | 31 +++- .../triangular/ctor/benchmark/benchmark.js | 157 ++++++++++++++---- .../triangular/entropy/benchmark/benchmark.js | 8 +- .../entropy/benchmark/benchmark.native.js | 8 +- .../kurtosis/benchmark/benchmark.js | 8 +- .../kurtosis/benchmark/benchmark.native.js | 8 +- .../triangular/logcdf/benchmark/benchmark.js | 31 +++- .../triangular/logpdf/benchmark/benchmark.js | 19 ++- .../logpdf/benchmark/benchmark.native.js | 10 +- .../triangular/mean/benchmark/benchmark.js | 8 +- .../mean/benchmark/benchmark.native.js | 8 +- .../triangular/median/benchmark/benchmark.js | 8 +- .../median/benchmark/benchmark.native.js | 8 +- .../triangular/mgf/benchmark/benchmark.js | 19 ++- .../mgf/benchmark/benchmark.native.js | 10 +- .../triangular/mode/benchmark/benchmark.js | 8 +- .../mode/benchmark/benchmark.native.js | 8 +- .../triangular/pdf/benchmark/benchmark.js | 19 ++- .../pdf/benchmark/benchmark.native.js | 10 +- .../quantile/benchmark/benchmark.js | 32 +++- .../skewness/benchmark/benchmark.js | 9 +- .../skewness/benchmark/benchmark.native.js | 8 +- .../triangular/stdev/benchmark/benchmark.js | 8 +- .../stdev/benchmark/benchmark.native.js | 8 +- .../variance/benchmark/benchmark.js | 8 +- .../variance/benchmark/benchmark.native.js | 8 +- 26 files changed, 311 insertions(+), 156 deletions(-) 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..239d15ab63c0 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 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; @@ -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; + x = new Float64Array( len ); + min = new Float64Array( len ); + max = new Float64Array( len ); + mode = 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + 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 = 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,6 +72,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; @@ -70,11 +81,15 @@ bench( pkg+':factory', function benchmark( b ) { max = 1.5; mode = 0.5; mycdf = cdf.factory( min, max, mode ); + len = 100; + 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..3bbfa866de44 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 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,17 +33,25 @@ var Triangular = require( './../lib' ); bench( pkg+'::instantiation', function benchmark( bm ) { var dist; + var len; var a; var b; var c; var i; + len = 100; + a = new Float64Array( len ); + b = new Float64Array( len ); + c = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + a[ i ] = uniform( EPS, 10.0 ); + b[ i ] = uniform( a[ i ] + EPS, a[ i ] + 10.0 ); + c[ i ] = uniform( a[ i ], b[ 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 +94,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; @@ -95,17 +105,21 @@ bench( pkg+'::set:a', function benchmark( bm ) { b = 120.0; c = 110.0; dist = new Triangular( a, b, c ); + len = 100; + 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' ); } } bm.toc(); - if ( isnan( y ) ) { + if ( isnan( y[ i % len ] ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -142,6 +156,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 +167,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 ] = uniform( c + EPS, c + 100.0); + } 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 % len ] ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -199,6 +218,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 +229,21 @@ bench( pkg+'::set:c', 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 ] = 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 % len ] ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -228,20 +252,27 @@ 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 x; var i; a = 20.0; b = 140.0; c = 100.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.entropy; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -257,20 +288,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 x; var i; a = 20.0; b = 140.0; c = 120.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.kurtosis; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -286,6 +324,8 @@ bench( pkg+':kurtosis', function benchmark( bm ) { bench( pkg+':mean', function benchmark( bm ) { var dist; + var len; + var x; var a; var b; var c; @@ -296,10 +336,15 @@ bench( pkg+':mean', function benchmark( bm ) { b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.mean; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -315,6 +360,8 @@ bench( pkg+':mean', function benchmark( bm ) { bench( pkg+':median', function benchmark( bm ) { var dist; + var len; + var x; var a; var b; var c; @@ -325,10 +372,15 @@ bench( pkg+':median', function benchmark( bm ) { b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.median; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -344,6 +396,8 @@ bench( pkg+':median', function benchmark( bm ) { bench( pkg+':skewness', function benchmark( bm ) { var dist; + var len; + var x; var a; var b; var c; @@ -354,10 +408,15 @@ bench( pkg+':skewness', function benchmark( bm ) { b = 140.0; c = 110.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.skewness; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -373,6 +432,8 @@ bench( pkg+':skewness', function benchmark( bm ) { bench( pkg+':stdev', function benchmark( bm ) { var dist; + var len; + var x; var a; var b; var c; @@ -383,10 +444,15 @@ bench( pkg+':stdev', function benchmark( bm ) { b = 140.0; c = 80.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.stdev; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -402,6 +468,8 @@ bench( pkg+':stdev', function benchmark( bm ) { bench( pkg+':variance', function benchmark( bm ) { var dist; + var len; + var x; var a; var b; var c; @@ -412,10 +480,15 @@ bench( pkg+':variance', function benchmark( bm ) { b = 140.0; c = 80.0; dist = new Triangular( a, b, c ); + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, c ); + } bm.tic(); for ( i = 0; i < bm.iterations; i++ ) { - dist.a = randu() * c; + dist.a = x[ i % len ]; y = dist.variance; if ( isnan( y ) ) { bm.fail( 'should not return NaN' ); @@ -431,6 +504,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 +516,15 @@ bench( pkg+':cdf', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); + len = 100; + 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 +539,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 +551,15 @@ bench( pkg+':mgf', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); + len = 100; + 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 +574,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 +586,15 @@ bench( pkg+':pdf', function benchmark( bm ) { b = 40.0; c = 30; dist = new Triangular( a, b, c ); + len = 100; + 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,15 @@ bench( pkg+':quantile', function benchmark( bm ) { b = 40.0; c = 30.0; dist = new Triangular( a, b, c ); + len = 100; + 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..03246ddc7d06 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; @@ -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, min[ i ] + 10.0 ); + 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..b5b2940b9b9d 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' ); @@ -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( min[ i ] + EPS, min[ i ] + 10.0 ); + 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..4bf018b24785 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; @@ -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, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); 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..e2de8f4c4cdb 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' ); @@ -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( min[ i ] + EPS, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); 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..89fd926ef2e7 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 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; @@ -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; + x = new Float64Array( len ); + min = new Float64Array( len ); + max = new Float64Array( len ); + mode = 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + 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 +72,7 @@ bench( pkg+':factory', function benchmark( b ) { var mode; var min; var max; + var len; var x; var y; var i; @@ -70,11 +81,15 @@ bench( pkg+':factory', function benchmark( b ) { max = 1.5; mode = 0.5; mylogcdf = logcdf.factory( min, max, mode ); + len = 100; + 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..988f4c759f1e 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } 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; mylogpdf = logpdf.factory( min, max, mode ); + len = 100; + 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..75dce3fe4c0f 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + 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..4d2cc14cc195 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 ], 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..5423e05f87e8 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..7f3fcb72c5c3 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, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ 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..e2de8f4c4cdb 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( min[ i ] + EPS, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ 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..a949da28b799 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.0, 5.0); + min[ i ] = uniform( 0.0, 10.0 ); + max[ i ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } 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; @@ -81,11 +82,15 @@ bench( pkg+':factory', function benchmark( b ) { max = 1.5; mode = 0.5; mymgf = mgf.factory( min, max, mode ); + len = 100; + t = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + t[ i ] = uniform( 0.0, 5.0); + } 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..8bb53c30119e 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } 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..9c004f8d1104 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( 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/mode/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js index 66d669f8c681..179f8740c61a 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 ], 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..f33ca34351d8 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } 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 = 100; + 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 = 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..7c251098bfeb 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } 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..fbae86377150 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 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; @@ -34,17 +35,27 @@ bench( pkg, function benchmark( b ) { var mode; var min; var max; + var len; var p; var y; var i; + len = 100; + 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 ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); + mode[ i ] = uniform( min[ i ], max[ 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 ][ 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 p; var y; var i; @@ -70,11 +82,15 @@ bench( pkg+':factory', function benchmark( b ) { max = 1.5; mode = 0.5; myquantile = quantile.factory( min, max, mode ); + len = 100; + 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..cf94015b4967 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; @@ -43,10 +43,11 @@ bench( pkg, function benchmark( b ) { 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 ] = uniform( min[ i ] + EPS, min[ i ] + 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..3a06948cfb60 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( min[ i ] + EPS, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ 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..35ecf6e60e2f 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 ] + EPS, min[ i ] + 10.0 ); + 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..338a4c14e294 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( min[ i ] + EPS, min[ i ] + 10.0 ); + mode[ i ] = uniform( min[ i ], max[ 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..29453f53a167 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 ], min[ i ] + 10.0 ); + 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(); From 2d221a0de8d98be0c4bd57caeacae400f0dd6411 Mon Sep 17 00:00:00 2001 From: G4URAV001 <gaurav70380@gmail.com> Date: Thu, 20 Feb 2025 09:29:45 +0000 Subject: [PATCH 2/3] fixup! Made the suggested changes --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: passed - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../base/dists/triangular/ctor/benchmark/benchmark.js | 8 ++++---- .../base/dists/triangular/mgf/benchmark/benchmark.js | 4 ++-- .../dists/triangular/mgf/benchmark/benchmark.native.js | 3 +-- .../base/dists/triangular/pdf/benchmark/benchmark.js | 1 - .../dists/triangular/pdf/benchmark/benchmark.native.js | 1 - .../base/dists/triangular/quantile/benchmark/benchmark.js | 3 +-- 6 files changed, 8 insertions(+), 12 deletions(-) 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 3bbfa866de44..81ec800a3aae 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 @@ -119,7 +119,7 @@ bench( pkg+'::set:a', function benchmark( bm ) { } } bm.toc(); - if ( isnan( y[ i % len ] ) ) { + if ( isnan( dist.a ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -170,7 +170,7 @@ bench( pkg+'::set:b', function benchmark( bm ) { len = 100; y = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - y[ i ] = uniform( c + EPS, c + 100.0); + y[ i ] = uniform( c + EPS, c + 100.0 ); } bm.tic(); @@ -181,7 +181,7 @@ bench( pkg+'::set:b', function benchmark( bm ) { } } bm.toc(); - if ( isnan( y[ i % len ] ) ) { + if ( isnan( dist.b ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); @@ -243,7 +243,7 @@ bench( pkg+'::set:c', function benchmark( bm ) { } } bm.toc(); - if ( isnan( y[ i % len ] ) ) { + if ( isnan( dist.c ) ) { bm.fail( 'should not return NaN' ); } bm.pass( 'benchmark finished' ); 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 a949da28b799..7d4390f5103e 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 @@ -47,7 +47,7 @@ bench( pkg, function benchmark( b ) { mode = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - t[ i ] = uniform( 0.0, 5.0); + t[ i ] = uniform( 0.0, 5.0 ); min[ i ] = uniform( 0.0, 10.0 ); max[ i ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); mode[ i ] = uniform( min[ i ], max[ i ] ); @@ -85,7 +85,7 @@ bench( pkg+':factory', function benchmark( b ) { len = 100; t = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - t[ i ] = uniform( 0.0, 5.0); + t[ i ] = uniform( 0.0, 5.0 ); } b.tic(); 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 8bb53c30119e..1f6f3c03593f 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 @@ -54,9 +54,8 @@ bench( pkg+'::native', opts, function benchmark( b ) { min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - t[ i ] = uniform( 0.0, 5.0); + t[ i ] = uniform( 0.0, 5.0 ); min[ i ] = uniform( 0.0, 10.0 ); max[ i ] = uniform( min[ i ] + EPS, min[ i ] + 40.0 ); mode[ i ] = uniform( min[ i ], max[ i ] ); 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 f33ca34351d8..805ffd74cc15 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 @@ -45,7 +45,6 @@ bench( pkg, function benchmark( b ) { min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { x[ i ] = uniform( 0.0, 30.0 ); min[ i ] = uniform( 0.0, 10.0 ); 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 7c251098bfeb..c33fdd10e297 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 @@ -54,7 +54,6 @@ bench( pkg+'::native', opts, function benchmark( b ) { min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { x[ i ] = uniform( 0.0, 30.0 ); min[ i ] = uniform( 0.0, 10.0 ); 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 fbae86377150..fb7434c11ca4 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 @@ -45,7 +45,6 @@ bench( pkg, function benchmark( b ) { 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 ); @@ -90,7 +89,7 @@ bench( pkg+':factory', function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = myquantile( p[ i % len] ); + y = myquantile( p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From dee8eca82a13080fe081cbd8a824265c38dbb649 Mon Sep 17 00:00:00 2001 From: G4URAV001 <gaurav70380@gmail.com> Date: Fri, 21 Feb 2025 07:06:35 +0000 Subject: [PATCH 3/3] fixup! made the suggested change --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: passed - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../stats/base/dists/triangular/skewness/benchmark/benchmark.js | 1 - 1 file changed, 1 deletion(-) 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 cf94015b4967..fab3517c2611 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 @@ -43,7 +43,6 @@ bench( pkg, function benchmark( b ) { min = new Float64Array( len ); max = new Float64Array( len ); mode = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { min[ i ] = uniform( 0.0, 10.0 ); max[ i ] = uniform( min[ i ] + EPS, min[ i ] + 10.0 );