From 4d0f11a021200333b20632885427a8e269454283 Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:08:17 +0530 Subject: [PATCH 1/6] bench: update random value generation PR-URL: https://github.com/stdlib-js/stdlib/pull/6692 Reviewed-by: Philipp Burckhardt Signed-off-by: Harsh <149176984+hrshya@users.noreply.github.com> --- .../is-safe-integer/benchmark/benchmark.js | 12 ++++++++---- .../benchmark/benchmark.native.js | 12 ++++++++---- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../base/assert/is-safe-integer/test/test.js | 18 +++++++++--------- .../assert/is-safe-integer/test/test.native.js | 18 +++++++++--------- .../uint32-is-pow2/benchmark/benchmark.js | 12 ++++++++---- .../benchmark/benchmark.native.js | 12 ++++++++---- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../base/assert/uint32-is-pow2/test/test.js | 2 +- .../assert/uint32-is-pow2/test/test.native.js | 2 +- 10 files changed, 64 insertions(+), 42 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.js index 09c7bbaf6d89..ada66a7e209d 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isSafeInteger = require( './../lib' ); @@ -31,14 +30,19 @@ var isSafeInteger = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7) - 5.0e6 ); - y = isSafeInteger( x ); + y = isSafeInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.native.js index 3e544c9db4c1..feca7bd81449 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -40,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7) - 5.0e6 ); - y = isSafeInteger( x ); + y = isSafeInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/c/native/benchmark.c index 902f642eed11..6e9637721882 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 1.0e7 ) - 5.0e6; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 1.0e7 ) - 5.0e6; - b = stdlib_base_is_safe_integer( x ); + b = stdlib_base_is_safe_integer( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.js index 1df4cc23cbd8..b610d38e7721 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.js @@ -41,7 +41,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function returns `true` if provided a safe integer', function test( t ) { var i; for ( i = -50; i < 51; i++ ) { - t.equal( isSafeInteger( i ), true, 'returns true when provided '+i ); + t.equal( isSafeInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -51,7 +51,7 @@ tape( 'the function returns `false` if provided an integer greater than the max var i; for ( i = 1; i < 100; i++ ) { x = MAX_SAFE_INTEGER + 1 + i; - t.equal( isSafeInteger( x ), false, 'returns false when provided '+x ); + t.equal( isSafeInteger( x ), false, 'returns expected value when provided '+x ); } t.end(); }); @@ -61,7 +61,7 @@ tape( 'the function returns `false` if provided an integer less than the min saf var i; for ( i = 0; i < 100; i++ ) { x = MIN_SAFE_INTEGER - 1 - i; - t.equal( isSafeInteger( x ), false, 'returns false when provided '+x ); + t.equal( isSafeInteger( x ), false, 'returns expected value when provided '+x ); } t.end(); }); @@ -72,33 +72,33 @@ tape( 'the function returns `false` if not provided an integer', function test( for ( i = 0; i < 100; i++ ) { v = (randu()*100.0) - 50.0; if ( trunc(v) !== v ) { - t.equal( isSafeInteger( v ), false, 'returns false when provided '+v ); + t.equal( isSafeInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `true` if provided maximum safe integer', function test( t ) { - t.equal( isSafeInteger( MAX_SAFE_INTEGER ), true, 'returns true' ); + t.equal( isSafeInteger( MAX_SAFE_INTEGER ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `true` if provided minimum safe integer', function test( t ) { - t.equal( isSafeInteger( MIN_SAFE_INTEGER ), true, 'returns true' ); + t.equal( isSafeInteger( MIN_SAFE_INTEGER ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isSafeInteger( NaN ), false, 'returns false' ); + t.equal( isSafeInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `+infinity`', function test( t ) { - t.equal( isSafeInteger( PINF ), false, 'returns false' ); + t.equal( isSafeInteger( PINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', function test( t ) { - t.equal( isSafeInteger( NINF ), false, 'returns false' ); + t.equal( isSafeInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.native.js index 058679f15cd2..ec951c604d2b 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-safe-integer/test/test.native.js @@ -50,7 +50,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function returns `true` if provided a safe integer', opts, function test( t ) { var i; for ( i = -50; i < 51; i++ ) { - t.equal( isSafeInteger( i ), true, 'returns true when provided '+i ); + t.equal( isSafeInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -60,7 +60,7 @@ tape( 'the function returns `false` if provided an integer greater than the max var i; for ( i = 1; i < 100; i++ ) { x = MAX_SAFE_INTEGER + 1 + i; - t.equal( isSafeInteger( x ), false, 'returns false when provided '+x ); + t.equal( isSafeInteger( x ), false, 'returns expected value when provided '+x ); } t.end(); }); @@ -70,7 +70,7 @@ tape( 'the function returns `false` if provided an integer less than the min saf var i; for ( i = 0; i < 100; i++ ) { x = MIN_SAFE_INTEGER - 1 - i; - t.equal( isSafeInteger( x ), false, 'returns false when provided '+x ); + t.equal( isSafeInteger( x ), false, 'returns expected value when provided '+x ); } t.end(); }); @@ -81,33 +81,33 @@ tape( 'the function returns `false` if not provided an integer', opts, function for ( i = 0; i < 100; i++ ) { v = (randu()*100.0) - 50.0; if ( trunc(v) !== v ) { - t.equal( isSafeInteger( v ), false, 'returns false when provided '+v ); + t.equal( isSafeInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `true` if provided maximum safe integer', opts, function test( t ) { - t.equal( isSafeInteger( MAX_SAFE_INTEGER ), true, 'returns true' ); + t.equal( isSafeInteger( MAX_SAFE_INTEGER ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `true` if provided minimum safe integer', opts, function test( t ) { - t.equal( isSafeInteger( MIN_SAFE_INTEGER ), true, 'returns true' ); + t.equal( isSafeInteger( MIN_SAFE_INTEGER ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isSafeInteger( NaN ), false, 'returns false' ); + t.equal( isSafeInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `+infinity`', opts, function test( t ) { - t.equal( isSafeInteger( PINF ), false, 'returns false' ); + t.equal( isSafeInteger( PINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { - t.equal( isSafeInteger( NINF ), false, 'returns false' ); + t.equal( isSafeInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.js index 8829ba90c3c3..2d72357e0686 100644 --- a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var float64ToUint32 = require( '@stdlib/number/float64/base/to-uint32' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; @@ -32,14 +31,19 @@ var isPow2 = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'uint32' + }; + x = discreteUniform( 100, 0, 1.0e7, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( randu()*1.0e7 ); - y = isPow2( float64ToUint32( x ) ); + y = isPow2( float64ToUint32( x[ i%x.length ] ) ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.native.js index c47e51aea845..0cf460231788 100644 --- a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var round = require( '@stdlib/math/base/special/round' ); -var randu = require( '@stdlib/random/base/randu' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var float64ToUint32 = require( '@stdlib/number/float64/base/to-uint32' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); @@ -41,14 +40,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'uint32' + }; + x = discreteUniform( 100, 0, 1.0e7, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( randu()*1.0e7 ); - y = isPow2( float64ToUint32( x ) ); + y = isPow2( float64ToUint32( x[ i%x.length ] ) ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/c/native/benchmark.c index 07ffe2d149b7..693c9cf25576 100644 --- a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/benchmark/c/native/benchmark.c @@ -93,15 +93,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 200.0 ) - 100.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 200.0 ) - 100.0; - b = stdlib_base_uint32_is_pow2( (uint32_t)x ); + b = stdlib_base_uint32_is_pow2( (uint32_t)x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.js b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.js index 45b1fadb1034..3e7cf21def12 100644 --- a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.js @@ -35,7 +35,7 @@ tape( 'main export is a function', function test( t ) { }); tape( 'if provided `0`, the function returns false', function test( t ) { - t.strictEqual( isPow2Uint32( 0 ), false, 'returns false' ); + t.strictEqual( isPow2Uint32( 0 ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.native.js index 2db112587c4b..77974b73ce3f 100644 --- a/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/uint32-is-pow2/test/test.native.js @@ -45,7 +45,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'if provided `0`, the function returns false', opts, function test( t ) { var bool = isPow2Uint32( 0 ); - t.strictEqual( bool, false, 'returns false' ); + t.strictEqual( bool, false, 'returns expected value' ); t.end(); }); From 65f0948b65c43d56d13cb55c54ac4526c3c60304 Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:08:54 +0530 Subject: [PATCH 2/6] bench: update random value generation PR-URL: https://github.com/stdlib-js/stdlib/pull/6691 Reviewed-by: Philipp Burckhardt Signed-off-by: Harsh <149176984+hrshya@users.noreply.github.com> --- .../assert/is-positive-zerof/benchmark/benchmark.js | 11 ++++++++--- .../is-positive-zerof/benchmark/benchmark.native.js | 11 ++++++++--- .../assert/is-positive-zerof/benchmark/c/benchmark.c | 9 ++++++--- .../is-positive-zerof/benchmark/c/native/benchmark.c | 9 ++++++--- .../math/base/assert/is-positive-zerof/test/test.js | 8 ++++---- .../base/assert/is-positive-zerof/test/test.native.js | 8 ++++---- .../base/assert/is-probability/benchmark/benchmark.js | 10 ++++++---- .../is-probability/benchmark/benchmark.native.js | 10 ++++++---- .../assert/is-probabilityf/benchmark/benchmark.js | 6 ++---- .../is-probabilityf/benchmark/benchmark.native.js | 6 ++---- 10 files changed, 52 insertions(+), 36 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.js index da1d291b5800..a3fa9c582653 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/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/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isPositiveZerof = require( './../lib' ); @@ -30,14 +30,19 @@ var isPositiveZerof = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float32' + }; + x = uniform( 100, -50.0, 50.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100.0 ) - 50.0; - y = isPositiveZerof( x ); + y = isPositiveZerof( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.native.js index b210a6c50271..6dfe6046e00c 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float32' + }; + x = uniform( 100, -50.0, 50.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100.0 ) - 50.0; - y = isPositiveZerof( x ); + y = isPositiveZerof( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/benchmark.c index 1361a5bc4f88..bdcc0f7628f9 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/benchmark.c @@ -101,15 +101,18 @@ bool is_positive_zerof( float x ) { */ static double benchmark( void ) { double elapsed; + float x[ 100 ]; double t; - float x; bool y; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 100.0f*rand_float() ) - 50.0f; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 100.0f*rand_float() ) - 50.0f; - y = is_positive_zerof( x ); + y = is_positive_zerof( x[ i%100 ] ); if ( y != true && y != false ) { printf( "should return true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/native/benchmark.c index 9c5206ef3448..d68e5e6ac637 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static float rand_float( void ) { */ static double benchmark( void ) { double elapsed; + float x[ 100 ]; double t; - float x; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = (rand_float()*100.0f) - 50.0f; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = (rand_float()*100.0f) - 50.0f; - b = stdlib_base_is_positive_zerof( x ); + b = stdlib_base_is_positive_zerof( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.js index f55c7f635dcf..cde934301ef3 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.js @@ -33,13 +33,13 @@ tape( 'main export is a function', function test( t ) { }); tape( 'the function returns `true` if provided `+0`', function test( t ) { - t.equal( isPositiveZerof( 0.0 ), true, 'returns true' ); - t.equal( isPositiveZerof( +0.0 ), true, 'returns true' ); + t.equal( isPositiveZerof( 0.0 ), true, 'returns expected value' ); + t.equal( isPositiveZerof( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-0`', function test( t ) { - t.equal( isPositiveZerof( -0.0 ), false, 'returns false' ); + t.equal( isPositiveZerof( -0.0 ), false, 'returns expected value' ); t.end(); }); @@ -62,7 +62,7 @@ tape( 'the function returns `false` if not provided `+0`', function test( t ) { ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isPositiveZerof( values[i] ), false, 'returns false when provided ' + values[ i ] ); + t.equal( isPositiveZerof( values[i] ), false, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.native.js index 9e4aa20d2033..5e12ea05f2a6 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zerof/test/test.native.js @@ -42,13 +42,13 @@ tape( 'main export is a function', opts, function test( t ) { }); tape( 'the function returns `true` if provided `+0`', opts, function test( t ) { - t.equal( isPositiveZerof( 0.0 ), true, 'returns true' ); - t.equal( isPositiveZerof( +0.0 ), true, 'returns true' ); + t.equal( isPositiveZerof( 0.0 ), true, 'returns expected value' ); + t.equal( isPositiveZerof( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-0`', opts, function test( t ) { - t.equal( isPositiveZerof( -0.0 ), false, 'returns false' ); + t.equal( isPositiveZerof( -0.0 ), false, 'returns expected value' ); t.end(); }); @@ -71,7 +71,7 @@ tape( 'the function returns `false` if not provided `+0`', opts, function test( ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isPositiveZerof( values[i] ), false, 'returns false when provided ' + values[ i ] ); + t.equal( isPositiveZerof( values[i] ), false, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.js index d8aa7b920c5f..2d374025af21 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.js @@ -30,17 +30,19 @@ var isProbability = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var len; + var opts; var x; var y; var i; - len = 100; - x = uniform( len, 1.0, -1.0 ); + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isProbability( x[ i % len ] ); + y = isProbability( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.native.js index f839abf3e90f..1c04deb0eb59 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probability/benchmark/benchmark.native.js @@ -39,17 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { - var len; + var opts; var x; var y; var i; - len = 100; - x = uniform( len, -1.0, 1.0 ); + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isProbability( x[ i % len ] ); + y = isProbability( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js index 24c4d5306918..04942ba358f2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js @@ -31,20 +31,18 @@ var isProbabilityf = require( './../lib' ); bench( pkg, function benchmark( b ) { var opts; - var len; var x; var y; var i; - len = 100; opts = { 'dtype': 'float32' }; - x = uniform( len, -1.0, 1.0, opts ); + x = uniform( 100, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isProbabilityf( x[ i % len ] ); + y = isProbabilityf( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js index 626c38263586..7948c4c1d2c2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js @@ -40,20 +40,18 @@ var opts = { bench( pkg+'::native', opts, function benchmark( b ) { var opts; - var len; var x; var y; var i; - len = 100; opts = { 'dtype': 'float32' }; - x = uniform( len, -1.0, 1.0, opts ); + x = uniform( 100, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isProbabilityf( x[ i % len ] ); + y = isProbabilityf( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } From da87aba5a4cbb2ff6553a2d9d0ee6eb83bcdc8da Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:09:59 +0530 Subject: [PATCH 3/6] bench: update random value generation PR-URL: https://github.com/stdlib-js/stdlib/pull/6690 Reviewed-by: Philipp Burckhardt --- .../is-positive-finite/benchmark/benchmark.js | 11 ++++++++--- .../benchmark/benchmark.native.js | 11 ++++++++--- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../assert/is-positive-finite/test/test.js | 18 +++++++++--------- .../is-positive-finite/test/test.native.js | 18 +++++++++--------- .../is-positive-integer/benchmark/benchmark.js | 12 ++++++++---- .../benchmark/benchmark.native.js | 12 ++++++++---- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../assert/is-positive-integer/test/test.js | 12 ++++++------ .../is-positive-integer/test/test.native.js | 12 ++++++------ .../is-positive-zero/benchmark/benchmark.js | 11 ++++++++--- .../benchmark/benchmark.native.js | 11 ++++++++--- .../is-positive-zero/benchmark/c/benchmark.c | 9 ++++++--- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../base/assert/is-positive-zero/test/test.js | 8 ++++---- .../is-positive-zero/test/test.native.js | 8 ++++---- 16 files changed, 110 insertions(+), 70 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.js index 7ef112e6330c..d5075b18800b 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/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/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isPositiveFinite = require( './../lib' ); @@ -30,14 +30,19 @@ var isPositiveFinite = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -100.0, 100.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = (randu()*200.0) - 100.0; - y = isPositiveFinite( x ); + y = isPositiveFinite( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.native.js index a978808df770..f4afca99cb84 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -100.0, 100.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*200.0 ) - 100.0; - y = isPositiveFinite( x ); + y = isPositiveFinite( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/c/native/benchmark.c index e0a8f5179e11..6264d81047f5 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 200.0 ) - 100.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 200.0 ) - 100.0; - b = stdlib_base_is_positive_finite( x ); + b = stdlib_base_is_positive_finite( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.js index 19cc46466217..58871fb75a92 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.js @@ -35,26 +35,26 @@ tape( 'main export is a function', function test( t ) { }); tape( 'the function returns `true` if provided a positive finite number', function test( t ) { - t.equal( isPositiveFinite( 1.0 ), true, 'returns true' ); - t.equal( isPositiveFinite( 3.14 ), true, 'returns true' ); - t.equal( isPositiveFinite( 1.0e308 ), true, 'returns true' ); + t.equal( isPositiveFinite( 1.0 ), true, 'returns expected value' ); + t.equal( isPositiveFinite( 3.14 ), true, 'returns expected value' ); + t.equal( isPositiveFinite( 1.0e308 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided a negative number', function test( t ) { - t.equal( isPositiveFinite( -1.0 ), false, 'returns false' ); - t.equal( isPositiveFinite( -3.14 ), false, 'returns false' ); - t.equal( isPositiveFinite( -1.0e308 ), false, 'returns false' ); + t.equal( isPositiveFinite( -1.0 ), false, 'returns expected value' ); + t.equal( isPositiveFinite( -3.14 ), false, 'returns expected value' ); + t.equal( isPositiveFinite( -1.0e308 ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided +infinity or -infinity', function test( t ) { - t.equal( isPositiveFinite( PINF ), false, 'returns false' ); - t.equal( isPositiveFinite( NINF ), false, 'returns false' ); + t.equal( isPositiveFinite( PINF ), false, 'returns expected value' ); + t.equal( isPositiveFinite( NINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isPositiveFinite( NaN ), false, 'returns false' ); + t.equal( isPositiveFinite( NaN ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.native.js index 374137dea852..7ee336c30a2f 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-finite/test/test.native.js @@ -44,26 +44,26 @@ tape( 'main export is a function', opts, function test( t ) { }); tape( 'the function returns `true` if provided a positive finite number', opts, function test( t ) { - t.equal( isPositiveFinite( 1.0 ), true, 'returns true' ); - t.equal( isPositiveFinite( 3.14 ), true, 'returns true' ); - t.equal( isPositiveFinite( 1.0e308 ), true, 'returns true' ); + t.equal( isPositiveFinite( 1.0 ), true, 'returns expected value' ); + t.equal( isPositiveFinite( 3.14 ), true, 'returns expected value' ); + t.equal( isPositiveFinite( 1.0e308 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided a negative number', opts, function test( t ) { - t.equal( isPositiveFinite( -1.0 ), false, 'returns false' ); - t.equal( isPositiveFinite( -3.14 ), false, 'returns false' ); - t.equal( isPositiveFinite( -1.0e308 ), false, 'returns false' ); + t.equal( isPositiveFinite( -1.0 ), false, 'returns expected value' ); + t.equal( isPositiveFinite( -3.14 ), false, 'returns expected value' ); + t.equal( isPositiveFinite( -1.0e308 ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided +infinity or -infinity', opts, function test( t ) { - t.equal( isPositiveFinite( PINF ), false, 'returns false' ); - t.equal( isPositiveFinite( NINF ), false, 'returns false' ); + t.equal( isPositiveFinite( PINF ), false, 'returns expected value' ); + t.equal( isPositiveFinite( NINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isPositiveFinite( NaN ), false, 'returns false' ); + t.equal( isPositiveFinite( NaN ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.js index 19563cb0adae..b546dd5ea069 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isPositiveInteger = require( './../lib' ); @@ -31,14 +30,19 @@ var isPositiveInteger = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7) - 5.0e6 ); - y = isPositiveInteger( x ); + y = isPositiveInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.native.js index 4348392db5e4..7dea88048edc 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -40,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7 ) - 5.0e6 ); - y = isPositiveInteger( x ); + y = isPositiveInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/c/native/benchmark.c index 8db5ecc4189c..b37681e486a6 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 200.0 ) - 100.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 200.0 ) - 100.0; - b = stdlib_base_is_positive_integer( x ); + b = stdlib_base_is_positive_integer( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.js index 397b6a469793..72f6952961d2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.js @@ -39,7 +39,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function returns `true` if provided a positive integer', function test( t ) { var i; for ( i = 1; i < 101; i++ ) { - t.equal( isPositiveInteger( i ), true, 'returns true when provided '+i ); + t.equal( isPositiveInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -47,7 +47,7 @@ tape( 'the function returns `true` if provided a positive integer', function tes tape( 'the function returns `false` if not provided a positive integer', function test( t ) { var i; for ( i = 0; i > -101; i-- ) { - t.equal( isPositiveInteger( i ), false, 'returns false when provided '+i ); + t.equal( isPositiveInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -58,23 +58,23 @@ tape( 'the function returns `false` if not provided an integer', function test( for ( i = 0; i < 100; i++ ) { v = ( randu()*100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isPositiveInteger( v ), false, 'returns false when provided '+v ); + t.equal( isPositiveInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isPositiveInteger( NaN ), false, 'returns false' ); + t.equal( isPositiveInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `+infinity`', function test( t ) { - t.equal( isPositiveInteger( PINF ), true, 'returns true' ); + t.equal( isPositiveInteger( PINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', function test( t ) { - t.equal( isPositiveInteger( NINF ), false, 'returns false' ); + t.equal( isPositiveInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.native.js index 800034cf7994..9b70e4b991b9 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-integer/test/test.native.js @@ -48,7 +48,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function returns `true` if provided a positive integer', opts, function test( t ) { var i; for ( i = 1; i < 101; i++ ) { - t.equal( isPositiveInteger( i ), true, 'returns true when provided '+i ); + t.equal( isPositiveInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -56,7 +56,7 @@ tape( 'the function returns `true` if provided a positive integer', opts, functi tape( 'the function returns `false` if not provided a positive integer', opts, function test( t ) { var i; for ( i = 0; i > -101; i-- ) { - t.equal( isPositiveInteger( i ), false, 'returns false when provided '+i ); + t.equal( isPositiveInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -67,23 +67,23 @@ tape( 'the function returns `false` if not provided an integer', opts, function for ( i = 0; i < 100; i++ ) { v = ( randu() * 100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isPositiveInteger( v ), false, 'returns false when provided '+v ); + t.equal( isPositiveInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isPositiveInteger( NaN ), false, 'returns false' ); + t.equal( isPositiveInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `+infinity`', opts, function test( t ) { - t.equal( isPositiveInteger( PINF ), true, 'returns true' ); + t.equal( isPositiveInteger( PINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { - t.equal( isPositiveInteger( NINF ), false, 'returns false' ); + t.equal( isPositiveInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.js index 6fcfdd474686..7f751ec37245 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/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/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isPositiveZero = require( './../lib' ); @@ -30,14 +30,19 @@ var isPositiveZero = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*1.0e7 ) - 5.0e6; - y = isPositiveZero( x ); + y = isPositiveZero( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.native.js index 7e3d667b1611..cb741acbb9b1 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*1.0e7 ) - 5.0e6; - y = isPositiveZero( x ); + y = isPositiveZero( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/benchmark.c index c9d12ce2044a..0f64a02eb8fd 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/benchmark.c @@ -101,15 +101,18 @@ bool is_positive_zero( double x ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool y; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 1.0e7*rand_double() ) - 5.0e6; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 1.0e7*rand_double() ) - 5.0e6; - y = is_positive_zero( x ); + y = is_positive_zero( x[ i%100 ] ); if ( y != true && y != false ) { printf( "should return true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/native/benchmark.c index b1672dc9f659..326cd0fe6564 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 1.0e7*rand_double() ) - 5.0e6; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = (rand_double()*1.0e7) - 5.0e6; - b = stdlib_base_is_positive_zero( x ); + b = stdlib_base_is_positive_zero( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.js index 739f281ba04f..0be6a10689e3 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.js @@ -33,13 +33,13 @@ tape( 'main export is a function', function test( t ) { }); tape( 'the function returns `true` if provided `+0`', function test( t ) { - t.equal( isPositiveZero( 0.0 ), true, 'returns true' ); - t.equal( isPositiveZero( +0.0 ), true, 'returns true' ); + t.equal( isPositiveZero( 0.0 ), true, 'returns expected value' ); + t.equal( isPositiveZero( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-0`', function test( t ) { - t.equal( isPositiveZero( -0.0 ), false, 'returns false' ); + t.equal( isPositiveZero( -0.0 ), false, 'returns expected value' ); t.end(); }); @@ -62,7 +62,7 @@ tape( 'the function returns `false` if not provided `+0`', function test( t ) { ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isPositiveZero( values[i] ), false, 'returns false when provided ' + values[ i ] ); + t.equal( isPositiveZero( values[i] ), false, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.native.js index d332e5a1bf50..6cdfeb807f46 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-positive-zero/test/test.native.js @@ -42,13 +42,13 @@ tape( 'main export is a function', opts, function test( t ) { }); tape( 'the function returns `true` if provided `+0`', opts, function test( t ) { - t.equal( isPositiveZero( 0.0 ), true, 'returns true' ); - t.equal( isPositiveZero( +0.0 ), true, 'returns true' ); + t.equal( isPositiveZero( 0.0 ), true, 'returns expected value' ); + t.equal( isPositiveZero( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-0`', opts, function test( t ) { - t.equal( isPositiveZero( -0.0 ), false, 'returns false' ); + t.equal( isPositiveZero( -0.0 ), false, 'returns expected value' ); t.end(); }); @@ -71,7 +71,7 @@ tape( 'the function returns `false` if not provided `+0`', opts, function test( ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isPositiveZero( values[i] ), false, 'returns false when provided ' + values[ i ] ); + t.equal( isPositiveZero( values[i] ), false, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); From f7b18f2f07eea6ac092fee7bc7c459fe96b4dd2c Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:18:16 +0530 Subject: [PATCH 4/6] bench: update random value generation PR-URL: https://github.com/stdlib-js/stdlib/pull/6687 Reviewed-by: Philipp Burckhardt --- .../is-nonpositive-integer/benchmark/benchmark.js | 12 ++++++++---- .../benchmark/benchmark.native.js | 12 ++++++++---- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../assert/is-nonpositive-integer/test/test.js | 14 +++++++------- .../is-nonpositive-integer/test/test.native.js | 14 +++++++------- .../math/base/assert/is-odd/benchmark/benchmark.js | 10 ++++++---- .../assert/is-odd/benchmark/benchmark.native.js | 10 ++++++---- .../assert/is-odd/benchmark/c/native/benchmark.c | 2 +- .../base/assert/is-oddf/benchmark/benchmark.js | 10 +++++++--- .../assert/is-oddf/benchmark/benchmark.native.js | 9 ++++++--- 10 files changed, 62 insertions(+), 40 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.js index 5c41e5811564..536430f9dfa3 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isNonPositiveInteger = require( './../lib' ); @@ -31,14 +30,19 @@ var isNonPositiveInteger = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7) - 5.0e6 ); - y = isNonPositiveInteger( x ); + y = isNonPositiveInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.native.js index ff0406a46389..a021afc74ddf 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -40,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7 ) - 5.0e6 ); - y = isNonPositiveInteger( x ); + y = isNonPositiveInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/c/native/benchmark.c index a0322e0ce957..831b762294d6 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 200.0 ) - 100.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 200.0 ) - 100.0; - b = stdlib_base_is_nonpositive_integer( x ); + b = stdlib_base_is_nonpositive_integer( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.js index 8959194be464..c917c0ff9ec2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.js @@ -39,7 +39,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function returns `false` if provided a positive integer', function test( t ) { var i; for ( i = 1; i < 101; i++ ) { - t.equal( isNonPositiveInteger( i ), false, 'returns false when provided '+i ); + t.equal( isNonPositiveInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -47,7 +47,7 @@ tape( 'the function returns `false` if provided a positive integer', function te tape( 'the function returns `true` if provided a nonpositive integer', function test( t ) { var i; for ( i = 0; i > -101; i-- ) { - t.equal( isNonPositiveInteger( i ), true, 'returns true when provided '+i ); + t.equal( isNonPositiveInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -58,28 +58,28 @@ tape( 'the function returns `false` if not provided an integer', function test( for ( i = 0; i < 100; i++ ) { v = ( randu()*100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isNonPositiveInteger( v ), false, 'returns false when provided '+v ); + t.equal( isNonPositiveInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isNonPositiveInteger( NaN ), false, 'returns false' ); + t.equal( isNonPositiveInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `-infinity`', function test( t ) { - t.equal( isNonPositiveInteger( NINF ), true, 'returns true' ); + t.equal( isNonPositiveInteger( NINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function does not distinguish between positive and negative zero and returns `true` if provided `+0`', function test( t ) { - t.equal( isNonPositiveInteger( +0.0 ), true, 'returns true' ); + t.equal( isNonPositiveInteger( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `+infinity`', function test( t ) { - t.equal( isNonPositiveInteger( PINF ), false, 'returns false' ); + t.equal( isNonPositiveInteger( PINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.native.js index 8e38ed57cc7a..c4284f6f0d21 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-integer/test/test.native.js @@ -48,7 +48,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function returns `false` if provided a positive integer', opts, function test( t ) { var i; for ( i = 1; i < 101; i++ ) { - t.equal( isNonPositiveInteger( i ), false, 'returns false when provided '+i ); + t.equal( isNonPositiveInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -56,7 +56,7 @@ tape( 'the function returns `false` if provided a positive integer', opts, funct tape( 'the function returns `true` if provided a nonpositive integer', opts, function test( t ) { var i; for ( i = 0; i > -101; i-- ) { - t.equal( isNonPositiveInteger( i ), true, 'returns true when provided '+i ); + t.equal( isNonPositiveInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -67,28 +67,28 @@ tape( 'the function returns `false` if not provided an integer', opts, function for ( i = 0; i < 100; i++ ) { v = ( randu()*100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isNonPositiveInteger( v ), false, 'returns false when provided '+v ); + t.equal( isNonPositiveInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isNonPositiveInteger( NaN ), false, 'returns false' ); + t.equal( isNonPositiveInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `-infinity`', opts, function test( t ) { - t.equal( isNonPositiveInteger( NINF ), true, 'returns true' ); + t.equal( isNonPositiveInteger( NINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function does not distinguish between positive and negative zero and returns `true` if provided `+0`', opts, function test( t ) { - t.equal( isNonPositiveInteger( +0.0 ), true, 'returns true' ); + t.equal( isNonPositiveInteger( +0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `+infinity`', opts, function test( t ) { - t.equal( isNonPositiveInteger( PINF ), false, 'returns false' ); + t.equal( isNonPositiveInteger( PINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.js index 9cff6819f9c2..4a340b5acf6d 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.js @@ -30,17 +30,19 @@ var isOdd = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var len; + var opts; var x; var y; var i; - len = 100; - x = discreteUniform( len, 5.0e6, -5.0e6 ); + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isOdd( x[ i % len ] ); + y = isOdd( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.native.js index e9cc5ac85dac..93e55b46fb2d 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/benchmark.native.js @@ -39,17 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { - var len; + var opts; var x; var y; var i; - len = 100; - x = discreteUniform( len, 5.0e6, -5.0e6 ); + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isOdd( x[ i % len ] ); + y = isOdd( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/c/native/benchmark.c index d22a64120151..adf807e93e8b 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-odd/benchmark/c/native/benchmark.c @@ -98,7 +98,7 @@ static double benchmark( void ) { int i; for ( i = 0; i < 100; i++ ) { - x[ i ] = round( (rand_double()*200.0) - 100.0 ); + x[ i ] = round( ( rand_double()*200.0 ) - 100.0 ); } t = tic(); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.js index f574286846cf..21d6fe07a19b 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.js @@ -21,7 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/discrete-uniform' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isOddf = require( './../lib' ); @@ -30,15 +30,19 @@ var isOddf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; - x = randu( 100, -50, 50 ); + opts = { + 'dtype': 'float32' + }; + x = discreteUniform( 100, -50, 50, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isOddf( x[ i % 100 ] ); + y = isOddf( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.native.js index 692f5eb05662..f19f52549e16 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-oddf/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/discrete-uniform' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -43,11 +43,14 @@ bench( pkg+'::native', opts, function benchmark( b ) { var y; var i; - x = randu( 100, -50, 50 ); + opts = { + 'dtype': 'float32' + }; + x = discreteUniform( 100, -50, 50, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = isOddf( x[ i % 100 ] ); + y = isOddf( x[ i % x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } From 2aadeb5422491aeab1afd3424f54048911b9cb31 Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:18:35 +0530 Subject: [PATCH 5/6] bench: update random value generation PR-URL: https://github.com/stdlib-js/stdlib/pull/6686 Reviewed-by: Philipp Burckhardt --- .../benchmark/benchmark.js | 12 ++++++++---- .../benchmark/benchmark.native.js | 12 ++++++++---- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../assert/is-nonnegative-integer/test/test.js | 14 +++++++------- .../is-nonnegative-integer/test/test.native.js | 14 +++++++------- .../benchmark/benchmark.js | 8 ++++++-- .../benchmark/benchmark.native.js | 8 ++++++-- .../is-nonpositive-finite/benchmark/benchmark.js | 11 ++++++++--- .../benchmark/benchmark.native.js | 11 ++++++++--- .../benchmark/c/native/benchmark.c | 9 ++++++--- .../assert/is-nonpositive-finite/test/test.js | 16 ++++++++-------- .../is-nonpositive-finite/test/test.native.js | 6 +++--- 12 files changed, 81 insertions(+), 49 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.js index f03c172ee07e..b5681f8414aa 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isNonNegativeInteger = require( './../lib' ); @@ -31,14 +30,19 @@ var isNonNegativeInteger = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( (randu()*1.0e7) - 5.0e6 ); - y = isNonNegativeInteger( x ); + y = isNonNegativeInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.native.js index f7c9547d4785..974829c4c274 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -40,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = round( ( randu() * 1.0e7 ) - 5.0e6 ); - y = isNonNegativeInteger( x ); + y = isNonNegativeInteger( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/c/native/benchmark.c index 17a625797438..0a6a5cf91614 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 1000.0 ) - 500.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 1000.0 ) - 500.0; - b = stdlib_base_is_nonnegative_integer( x ); + b = stdlib_base_is_nonnegative_integer( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.js index fe9651dd2b7a..13813a085551 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.js @@ -39,7 +39,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function returns `true` if provided a nonnegative integer', function test( t ) { var i; for ( i = 0; i < 101; i++ ) { - t.equal( isNonNegativeInteger( i ), true, 'returns true when provided '+i ); + t.equal( isNonNegativeInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -47,7 +47,7 @@ tape( 'the function returns `true` if provided a nonnegative integer', function tape( 'the function returns `false` if not provided a nonnegative integer', function test( t ) { var i; for ( i = -1; i > -101; i-- ) { - t.equal( isNonNegativeInteger( i ), false, 'returns false when provided '+i ); + t.equal( isNonNegativeInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -58,28 +58,28 @@ tape( 'the function returns `false` if not provided an integer', function test( for ( i = 0; i < 100; i++ ) { v = ( randu()*100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isNonNegativeInteger( v ), false, 'returns false when provided '+v ); + t.equal( isNonNegativeInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isNonNegativeInteger( NaN ), false, 'returns false' ); + t.equal( isNonNegativeInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `+infinity`', function test( t ) { - t.equal( isNonNegativeInteger( PINF ), true, 'returns true' ); + t.equal( isNonNegativeInteger( PINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function does not distinguish between positive and negative zero and returns `true` if provided `-0`', function test( t ) { - t.equal( isNonNegativeInteger( -0.0 ), true, 'returns true' ); + t.equal( isNonNegativeInteger( -0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', function test( t ) { - t.equal( isNonNegativeInteger( NINF ), false, 'returns false' ); + t.equal( isNonNegativeInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.native.js index f963c1542e1d..2b1d0663fc9e 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integer/test/test.native.js @@ -48,7 +48,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function returns `true` if provided a nonnegative integer', opts, function test( t ) { var i; for ( i = 0; i < 101; i++ ) { - t.equal( isNonNegativeInteger( i ), true, 'returns true when provided '+i ); + t.equal( isNonNegativeInteger( i ), true, 'returns expected value when provided '+i ); } t.end(); }); @@ -56,7 +56,7 @@ tape( 'the function returns `true` if provided a nonnegative integer', opts, fun tape( 'the function returns `false` if not provided a nonnegative integer', opts, function test( t ) { var i; for ( i = -1; i > -101; i-- ) { - t.equal( isNonNegativeInteger( i ), false, 'returns false when provided '+i ); + t.equal( isNonNegativeInteger( i ), false, 'returns expected value when provided '+i ); } t.end(); }); @@ -67,28 +67,28 @@ tape( 'the function returns `false` if not provided an integer', opts, function for ( i = 0; i < 100; i++ ) { v = ( randu() * 100.0 ) - 50.0; if ( trunc(v) !== v ) { - t.equal( isNonNegativeInteger( v ), false, 'returns false when provided '+v ); + t.equal( isNonNegativeInteger( v ), false, 'returns expected value when provided '+v ); } } t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isNonNegativeInteger( NaN ), false, 'returns false' ); + t.equal( isNonNegativeInteger( NaN ), false, 'returns expected value' ); t.end(); }); tape( 'WARNING: the function returns `true` if provided `+infinity`', opts, function test( t ) { - t.equal( isNonNegativeInteger( PINF ), true, 'returns true' ); + t.equal( isNonNegativeInteger( PINF ), true, 'returns expected value' ); t.end(); }); tape( 'the function does not distinguish between positive and negative zero and returns `true` if provided `-0`', opts, function test( t ) { - t.equal( isNonNegativeInteger( -0.0 ), true, 'returns true' ); + t.equal( isNonNegativeInteger( -0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { - t.equal( isNonNegativeInteger( NINF ), false, 'returns false' ); + t.equal( isNonNegativeInteger( NINF ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.js index 673f63d18aa8..ce6d724c7284 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.js @@ -21,7 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/discrete-uniform' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isNonNegativeIntegerf = require( './../lib' ); @@ -30,11 +30,15 @@ var isNonNegativeIntegerf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; - x = randu( 100, -5.0e6, 5.0e6 ); + opts = { + 'dtype': 'float32' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.native.js index 47ce43e820d6..e38fd6956f94 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonnegative-integerf/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/discrete-uniform' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,11 +39,15 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; - x = randu( 100, -5.0e6, 5.0e6 ); + opts = { + 'dtype': 'float32' + }; + x = discreteUniform( 100, -5.0e6, 5.0e6, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.js index 2110a68dbd75..c3811de14f26 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/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/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isNonPositiveFinite = require( './../lib' ); @@ -30,14 +30,19 @@ var isNonPositiveFinite = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -100.0, 100.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = (randu()*200.0) - 100.0; - y = isNonPositiveFinite( x ); + y = isNonPositiveFinite( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.native.js index 2b249e0b0a0f..e176547fb53c 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,14 +39,19 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var x; var y; var i; + opts = { + 'dtype': 'float64' + }; + x = uniform( 100, -100.0, 100.0, opts ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*200.0 ) - 100.0; - y = isNonPositiveFinite( x ); + y = isNonPositiveFinite( x[ i%x.length ] ); if ( typeof y !== 'boolean' ) { b.fail( 'should return a boolean' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/c/native/benchmark.c index f55802f06659..b0430ab94bf3 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/benchmark/c/native/benchmark.c @@ -92,15 +92,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double t; bool b; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 200.0 ) - 100.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 200.0 ) - 100.0; - b = stdlib_base_is_nonpositive_finite( x ); + b = stdlib_base_is_nonpositive_finite( x[ i%100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.js index fe78f0bdb6cd..b18e661b5e60 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.js @@ -35,38 +35,38 @@ tape( 'main export is a function', function test( t ) { }); tape( 'the function returns `true` if provided a nonpositive finite number', function test( t ) { - t.equal( isNonPositiveFinite( -3.14 ), true, 'returns true' ); - t.equal( isNonPositiveFinite( 0.0 ), true, 'returns true' ); - t.equal( isNonPositiveFinite( -0.0 ), true, 'returns true' ); + t.equal( isNonPositiveFinite( -3.14 ), true, 'returns expected value' ); + t.equal( isNonPositiveFinite( 0.0 ), true, 'returns expected value' ); + t.equal( isNonPositiveFinite( -0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided a positive number', function test( t ) { var bool = isNonPositiveFinite( 3.14 ); - t.equal( bool, false, 'returns false' ); + t.equal( bool, false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { var bool = isNonPositiveFinite( NaN ); - t.equal( bool, false, 'returns false' ); + t.equal( bool, false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided positive infinity', function test( t ) { var bool = isNonPositiveFinite( PINF ); - t.equal( bool, false, 'returns false' ); + t.equal( bool, false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided negative infinity', function test( t ) { var bool = isNonPositiveFinite( NINF ); - t.equal( bool, false, 'returns false' ); + t.equal( bool, false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { var bool = isNonPositiveFinite( NaN ); - t.equal( bool, false, 'returns false' ); + t.equal( bool, false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.native.js index b0d3ce48f08d..385e3df30b2f 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-nonpositive-finite/test/test.native.js @@ -55,7 +55,7 @@ tape( 'the function returns `true` if provided a nonpositive finite number', opt ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isNonPositiveFinite( values[ i ] ), true, 'returns true when provided ' + values[ i ] ); + t.equal( isNonPositiveFinite( values[ i ] ), true, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); @@ -72,12 +72,12 @@ tape( 'the function returns `false` if not provided a nonpositive finite number' ]; for ( i = 0; i < values.length; i++ ) { - t.equal( isNonPositiveFinite( values[ i ] ), false, 'returns false when provided ' + values[ i ] ); + t.equal( isNonPositiveFinite( values[ i ] ), false, 'returns expected value when provided ' + values[ i ] ); } t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isNonPositiveFinite( NaN ), false, 'returns false' ); + t.equal( isNonPositiveFinite( NaN ), false, 'returns expected value' ); t.end(); }); From da4436d4372c05e78d6936e1738be14e640ef099 Mon Sep 17 00:00:00 2001 From: Harsh <149176984+hrshya@users.noreply.github.com> Date: Wed, 16 Apr 2025 05:19:01 +0530 Subject: [PATCH 6/6] docs: replace manual `for` loop in examples PR-URL: https://github.com/stdlib-js/stdlib/pull/6689 Reviewed-by: Philipp Burckhardt --- .../math/base/assert/is-probability/README.md | 12 ++++++++---- .../base/assert/is-probability/examples/index.js | 12 ++++++++---- .../math/base/assert/is-probabilityf/README.md | 12 +++++++----- .../base/assert/is-probabilityf/examples/index.js | 12 +++++++----- 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probability/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probability/README.md index 9124f6d37dd2..46f57f2a6e22 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probability/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probability/README.md @@ -57,14 +57,18 @@ bool = isProbability( NaN ); ```javascript var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); var isProbability = require( '@stdlib/math/base/assert/is-probability' ); -var x = uniform( 100, -1.0, 1.0 ); +var opts = { + 'dtype': 'float64' +}; +var x = uniform( 100, -1.0, 1.0, opts ); -var i; -for ( i = 0; i < x.length; i++ ) { - console.log( '%d is %s', x[ i ], ( isProbability( x[ i ] ) ) ? 'a probability' : 'not a probability' ); +function isProbabilityWrapper( integer ) { + return ( isProbability( integer ) ) ? 'a probability' : 'not a probability'; } +logEachMap( '%0.4f is %s', x, isProbabilityWrapper ); ``` diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probability/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probability/examples/index.js index 72bb6ef34a21..fc40cacdbb8b 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probability/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probability/examples/index.js @@ -19,11 +19,15 @@ 'use strict'; var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); var isProbability = require( './../lib' ); -var x = uniform( 100, -1.0, 1.0 ); +var opts = { + 'dtype': 'float64' +}; +var x = uniform( 100, -1.0, 1.0, opts ); -var i; -for ( i = 0; i < x.length; i++ ) { - console.log( '%d is %s', x[ i ], ( isProbability( x[ i ] ) ) ? 'a probability' : 'not a probability' ); +function isProbabilityWrapper( integer ) { + return ( isProbability( integer ) ) ? 'a probability' : 'not a probability'; } +logEachMap( '%0.4f is %s', x, isProbabilityWrapper ); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 880a4446ed9a..aeeaa80101b7 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -57,16 +57,18 @@ bool = isProbabilityf( NaN ); ```javascript var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); -var x = uniform( 100, -1.0, 1.0, { +var opts = { 'dtype': 'float32' -}); +}; +var x = uniform( 100, -1.0, 1.0, opts ); -var i; -for ( i = 0; i < 100; i++ ) { - console.log( '%d is %s', x[ i ], ( isProbabilityf( x[ i ] ) ) ? 'a probability' : 'not a probability' ); +function isProbabilityfWrapper( integer ) { + return ( isProbabilityf( integer ) ) ? 'a probability' : 'not a probability'; } +logEachMap( '%0.4f is %s', x, isProbabilityfWrapper ); ``` diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js index f2d14cfb1fec..48fe6c8df85c 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -19,13 +19,15 @@ 'use strict'; var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); var isProbabilityf = require( './../lib' ); -var x = uniform( 100, -1.0, 1.0, { +var opts = { 'dtype': 'float32' -}); +}; +var x = uniform( 100, -1.0, 1.0, opts ); -var i; -for ( i = 0; i < 100; i++ ) { - console.log( '%d is %s', x[ i ], ( isProbabilityf( x[ i ] ) ) ? 'a probability' : 'not a probability' ); +function isProbabilityfWrapper( integer ) { + return ( isProbabilityf( integer ) ) ? 'a probability' : 'not a probability'; } +logEachMap( '%0.4f is %s', x, isProbabilityfWrapper );