From abcc371eda58b51ac4b9c64b6a08821f47d3c9ff Mon Sep 17 00:00:00 2001 From: hrshya Date: Wed, 23 Apr 2025 14:43:09 +0530 Subject: [PATCH 1/3] bench: update random value generation --- .../dists/beta/cdf/benchmark/benchmark.js | 37 ++- .../base/dists/beta/cdf/test/test.cdf.js | 50 ++-- .../base/dists/beta/cdf/test/test.factory.js | 56 ++--- .../dists/beta/ctor/benchmark/benchmark.js | 217 ++++++++---------- .../dists/beta/entropy/benchmark/benchmark.js | 20 +- .../entropy/benchmark/benchmark.native.js | 18 +- .../base/dists/beta/entropy/test/test.js | 24 +- .../dists/beta/entropy/test/test.native.js | 24 +- 8 files changed, 203 insertions(+), 243 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js index f48dd0a3837f..db0543f38f0b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require( '@stdlib/random/base/uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,26 +31,19 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var alpha; - var beta; - var len; - var x; var y; var i; - len = 100; - alpha = new Float64Array( len ); - beta = new Float64Array( len ); - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 2.0 ); - alpha[ i ] = uniform( EPS, 100.0 ); - beta[ i ] = uniform( EPS, 100.0 ); - } + var opts = { + 'dtype': 'float64' + }; + var alpha = uniform( 100, EPS, 100.0, opts ); + var beta = uniform( 100, EPS, 100.0, opts ); + var x = uniform( 100, EPS, 2.0, opts ) b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = cdf( x[ i % len ], alpha[ i % len ], beta[ i % len ] ); + y = cdf( x[ i % x.length ], alpha[ i % alpha.length ], beta[ i % beta.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -68,23 +60,22 @@ bench( pkg+':factory', function benchmark( b ) { var mycdf; var alpha; var beta; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + var x = uniform( 100, EPS, 2.0, opts ); + alpha = 100.56789; beta = 55.54321; mycdf = cdf.factory( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 2.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = mycdf( x[ i % len ] ); + y = mycdf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.cdf.js b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.cdf.js index e99b78575340..ea50b94d7ba8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.cdf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.cdf.js @@ -46,42 +46,42 @@ tape( 'main export is a function', function test( t ) { tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { var y = cdf( NaN, 0.0, 1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0, NaN, 1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0, 1.0, NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); tape( 'if provided a number greater than or equal to one for `x` and a finite `alpha` and `beta`, the function returns `1`', function test( t ) { var y = cdf( PINF, 0.5, 1.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 100.0, 0.5, 1.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 10.0, 0.5, 1.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 1.0, 0.5, 1.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); t.end(); }); tape( 'if provided a number less than or equal to zero for `x` and a finite `alpha` and `beta`, the function returns `0`', function test( t ) { var y = cdf( NINF, 0.5, 1.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( -100.0, 0.5, 1.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( -1.0, 0.5, 1.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( 0.0, 0.5, 1.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); t.end(); }); @@ -90,25 +90,25 @@ tape( 'if provided a nonpositive `alpha`, the function returns `NaN`', function var y; y = cdf( 2.0, 0.0, 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, -1.0, 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0, -1.0, 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NINF, 1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NINF, PINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NINF, NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -117,25 +117,25 @@ tape( 'if provided a nonpositive `beta`, the function returns `NaN`', function t var y; y = cdf( 2.0, 2.0, 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, 2.0, -1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0, 2.0, -1/0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, 1.0, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, PINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 2.0, NaN, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.factory.js index bb49d704b2e0..1ead0e6b735f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/test/test.factory.js @@ -56,23 +56,23 @@ tape( 'if provided `NaN` for any parameter, the created function returns `NaN`', cdf = factory( 1.0, 1.0 ); y = cdf( NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NaN, 1.0 ); y = cdf( 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( 1.0, NaN ); y = cdf( 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NaN, NaN ); y = cdf( 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NaN, NaN ); y = cdf( NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -83,16 +83,16 @@ tape( 'if provided a finite `alpha` and `beta`, the function returns a function cdf = factory( 0.5, 1.0 ); y = cdf( PINF ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 100.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 10.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); y = cdf( 1.0 ); - t.equal( y, 1.0, 'returns 1' ); + t.equal( y, 1.0, 'returns expected value' ); t.end(); }); @@ -103,19 +103,19 @@ tape( 'if provided a finite `alpha` and `beta`, the function returns a function cdf = factory( 0.5, 1.0 ); y = cdf( NINF ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( -100.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( -10.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( -1.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); y = cdf( 0.0 ); - t.equal( y, 0.0, 'returns 0' ); + t.equal( y, 0.0, 'returns expected value' ); t.end(); }); @@ -127,31 +127,31 @@ tape( 'if provided a nonpositive `beta`, the created function always returns `Na cdf = factory( 1.0, 0.0 ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( 1.0, -1.0 ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( 1.0, NINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( PINF, NINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NINF, NINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NaN, NINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -163,31 +163,31 @@ tape( 'if provided a nonpositive `alpha`, the created function always returns `N cdf = factory( 0.0, 0.5 ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( -1.0, 0.5 ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = cdf( 0.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NINF, 1.0 ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NINF, PINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NINF, NINF ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); cdf = factory( NINF, NaN ); y = cdf( 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js index 1779c5f89b36..e37ede8b1be1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require( '@stdlib/random/base/uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -35,20 +34,17 @@ bench( pkg+'::instantiation', function benchmark( b ) { var alpha; var beta; var dist; - var len; var i; - len = 100; - alpha = new Float64Array( len ); - beta = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - alpha[ i ] = uniform( EPS, 10.0 ); - beta[ i ] = uniform( EPS, 10.0 ); - } + var opts = { + 'dtype': 'float64' + }; + alpha = uniform( 100, EPS, 10.0, opts ); + beta = uniform( 100, EPS, 10.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist = new Beta( alpha[ i % len ], beta[ i % len ] ); + dist = new Beta( alpha[ i % alpha.length ], beta[ i % beta.length ] ); if ( !( dist instanceof Beta ) ) { b.fail( 'should return a distribution instance' ); } @@ -91,23 +87,22 @@ bench( pkg+'::set:alpha', function benchmark( b ) { var alpha; var beta; var dist; - var len; var y; var i; + var opts = { + 'dtype': 'float64' + }; + y = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - y = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - y[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = y[ i % len ]; - if ( dist.alpha !== y[ i % len ] ) { + dist.alpha = y[ i % y.length ]; + if ( dist.alpha !== y[ i % y.length ] ) { b.fail( 'should return set value' ); } } @@ -149,23 +144,22 @@ bench( pkg+'::set:beta', function benchmark( b ) { var alpha; var beta; var dist; - var len; var y; var i; + var opts = { + 'dtype': 'float64' + }; + y = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - y = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - y[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.beta = y[ i % len ]; - if ( dist.beta !== y[ i % len ] ) { + dist.beta = y[ i % y.length ]; + if ( dist.beta !== y[ i % y.length ] ) { b.fail( 'should return set value' ); } } @@ -181,23 +175,22 @@ bench( pkg+':entropy', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.entropy; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -215,23 +208,22 @@ bench( pkg+':kurtosis', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.kurtosis; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -249,23 +241,22 @@ bench( pkg+':mean', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.mean; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -283,23 +274,22 @@ bench( pkg+':median', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.median; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -317,23 +307,22 @@ bench( pkg+':mode', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 1.0 + EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 1.0 + EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.mode; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -351,23 +340,22 @@ bench( pkg+':skewness', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.skewness; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -385,23 +373,22 @@ bench( pkg+':stdev', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.stdev; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -419,23 +406,22 @@ bench( pkg+':variance', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, EPS, 100.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( EPS, 100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - dist.alpha = x[ i % len ]; + dist.alpha = x[ i % x.length ]; y = dist.variance; if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -453,23 +439,22 @@ bench( pkg+':cdf', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.cdf( x[ i % len ] ); + y = dist.cdf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -486,23 +471,22 @@ bench( pkg+':logpdf', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.logpdf( x[ i % len ] ); + y = dist.logpdf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -519,23 +503,22 @@ bench( pkg+':mgf', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.mgf( x[ i % len ] ); + y = dist.mgf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -552,23 +535,22 @@ bench( pkg+':pdf', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.pdf( x[ i % len ] ); + y = dist.pdf( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -585,23 +567,22 @@ bench( pkg+':quantile', function benchmark( b ) { var alpha; var beta; var dist; - var len; var x; var y; var i; + var opts = { + 'dtype': 'float64' + }; + x = uniform( 100, 0.0, 1.0, opts ); + alpha = 100.56789; beta = 55.54321; dist = new Beta( alpha, beta ); - len = 100; - x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = dist.quantile( x[ i % len ] ); + y = dist.quantile( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js index e6546d02fb66..f0f5312b1063 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var uniform = require( '@stdlib/random/base/uniform' ); -var Float64Array = require( '@stdlib/array/float64' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); var pkg = require( './../package.json' ).name; @@ -32,23 +31,18 @@ var entropy = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var alpha; - var beta; - var len; var y; var i; - len = 100; - alpha = new Float64Array( len ); - beta = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - alpha[ i ] = uniform( EPS, 10.0 ); - beta[ i ] = uniform( EPS, 10.0 ); - } + var opts = { + 'dtype': 'float64' + }; + var alpha = uniform( 100, EPS, 10.0, opts ); + var beta = uniform( 100, EPS, 10.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = entropy( alpha[ i % len ], beta[ i % len ] ); + y = entropy( alpha[ i % alpha.length ], beta[ i % beta.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js index d094b97ee926..20171402eb04 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js @@ -23,7 +23,6 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var uniform = require( '@stdlib/random/base/uniform' ); -var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -41,23 +40,18 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { - var alpha; - var beta; - var len; var y; var i; - len = 100; - alpha = new Float64Array( len ); - beta = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - alpha[ i ] = uniform( EPS, 10.0 ); - beta[ i ] = uniform( EPS, 10.0 ); - } + var opts = { + 'dtype': 'float64' + }; + var alpha = uniform( 100, EPS, 10.0, opts ); + var beta = uniform( 100, EPS, 10.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = entropy( alpha[ i % len ], beta[ i % len ] ); + y = entropy( alpha[ i % alpha.length ], beta[ i % beta.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.js index 153f45ee3557..472fcf7a6c06 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.js @@ -44,10 +44,10 @@ tape( 'main export is a function', function test( t ) { tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { var v = entropy( NaN, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); v = entropy( 10, NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -56,19 +56,19 @@ tape( 'if provided `alpha <= 0`, the function returns `NaN`', function test( t ) var y; y = entropy( -1.0, 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, 1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, PINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -77,19 +77,19 @@ tape( 'if provided `beta <= 0`, the function returns `NaN`', function test( t ) var y; y = entropy( 2.0, -1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( 1.0, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( PINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( 2.0, NaN, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.native.js index 246de04c6e7f..9edb0364cf79 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/test/test.native.js @@ -53,10 +53,10 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) { var v = entropy( NaN, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); v = entropy( 10, NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -65,19 +65,19 @@ tape( 'if provided `alpha <= 0`, the function returns `NaN`', opts, function tes var y; y = entropy( -1.0, 2.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, 1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, PINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NaN ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); @@ -86,19 +86,19 @@ tape( 'if provided `beta <= 0`, the function returns `NaN`', opts, function test var y; y = entropy( 2.0, -1.0 ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( 1.0, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( PINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( NINF, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); y = entropy( 2.0, NaN, NINF ); - t.equal( isnan( y ), true, 'returns NaN' ); + t.equal( isnan( y ), true, 'returns expected value' ); t.end(); }); From ae579309a0ad97aa6bfaa39bafa85ea4b84cd25b Mon Sep 17 00:00:00 2001 From: hrshya Date: Wed, 23 Apr 2025 15:04:16 +0530 Subject: [PATCH 2/3] fix: resolve lint issues --- .../dists/beta/cdf/benchmark/benchmark.js | 17 ++++--- .../dists/beta/ctor/benchmark/benchmark.js | 48 ++++++++++++------- .../dists/beta/entropy/benchmark/benchmark.js | 9 ++-- .../entropy/benchmark/benchmark.native.js | 9 ++-- 4 files changed, 55 insertions(+), 28 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js index db0543f38f0b..53d988efbbe8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/cdf/benchmark/benchmark.js @@ -31,15 +31,19 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var alpha; + var beta; + var opts; + var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; - var alpha = uniform( 100, EPS, 100.0, opts ); - var beta = uniform( 100, EPS, 100.0, opts ); - var x = uniform( 100, EPS, 2.0, opts ) + alpha = uniform( 100, EPS, 100.0, opts ); + beta = uniform( 100, EPS, 100.0, opts ); + x = uniform( 100, EPS, 2.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -60,14 +64,15 @@ bench( pkg+':factory', function benchmark( b ) { var mycdf; var alpha; var beta; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; - var x = uniform( 100, EPS, 2.0, opts ); + x = uniform( 100, EPS, 2.0, opts ); alpha = 100.56789; beta = 55.54321; diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js index e37ede8b1be1..64aabe986b4a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/ctor/benchmark/benchmark.js @@ -34,9 +34,10 @@ bench( pkg+'::instantiation', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var i; - var opts = { + opts = { 'dtype': 'float64' }; alpha = uniform( 100, EPS, 10.0, opts ); @@ -87,10 +88,11 @@ bench( pkg+'::set:alpha', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; y = uniform( 100, EPS, 100.0, opts ); @@ -144,10 +146,11 @@ bench( pkg+'::set:beta', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; y = uniform( 100, EPS, 100.0, opts ); @@ -175,11 +178,12 @@ bench( pkg+':entropy', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -208,11 +212,12 @@ bench( pkg+':kurtosis', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -241,11 +246,12 @@ bench( pkg+':mean', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -274,11 +280,12 @@ bench( pkg+':median', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -307,11 +314,12 @@ bench( pkg+':mode', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 1.0 + EPS, 100.0, opts ); @@ -340,11 +348,12 @@ bench( pkg+':skewness', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -373,11 +382,12 @@ bench( pkg+':stdev', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -406,11 +416,12 @@ bench( pkg+':variance', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, EPS, 100.0, opts ); @@ -439,11 +450,12 @@ bench( pkg+':cdf', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 0.0, 1.0, opts ); @@ -471,11 +483,12 @@ bench( pkg+':logpdf', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 0.0, 1.0, opts ); @@ -503,11 +516,12 @@ bench( pkg+':mgf', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 0.0, 1.0, opts ); @@ -535,11 +549,12 @@ bench( pkg+':pdf', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 0.0, 1.0, opts ); @@ -567,11 +582,12 @@ bench( pkg+':quantile', function benchmark( b ) { var alpha; var beta; var dist; + var opts; var x; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; x = uniform( 100, 0.0, 1.0, opts ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js index f0f5312b1063..a50a12498aea 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.js @@ -31,14 +31,17 @@ var entropy = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var alpha; + var beta; + var opts; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; - var alpha = uniform( 100, EPS, 10.0, opts ); - var beta = uniform( 100, EPS, 10.0, opts ); + alpha = uniform( 100, EPS, 10.0, opts ); + beta = uniform( 100, EPS, 10.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js index 20171402eb04..437708fc0219 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js @@ -40,14 +40,17 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var alpha; + var beta; + var opts; var y; var i; - var opts = { + opts = { 'dtype': 'float64' }; - var alpha = uniform( 100, EPS, 10.0, opts ); - var beta = uniform( 100, EPS, 10.0, opts ); + alpha = uniform( 100, EPS, 10.0, opts ); + beta = uniform( 100, EPS, 10.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { From 22b335a79c7447de32b2d3e09107fd0e050ceb07 Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 24 Apr 2025 17:09:40 -0700 Subject: [PATCH 3/3] fix: update require path Signed-off-by: Athan --- .../stats/base/dists/beta/entropy/benchmark/benchmark.native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js index 437708fc0219..eae8d182bfd1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/beta/entropy/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var uniform = require( '@stdlib/random/base/uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' );