From a45263b02fcb7f86a83bfd81f68fcf41706b0280 Mon Sep 17 00:00:00 2001 From: hrshya <harshyadav6078@gmail.com> Date: Wed, 19 Mar 2025 23:40:51 +0530 Subject: [PATCH] bench: update random value generation --- .../special/floorb/benchmark/benchmark.js | 7 ++-- .../floorb/benchmark/benchmark.native.js | 7 ++-- .../floorb/benchmark/c/native/benchmark.c | 9 ++-- .../math/base/special/floorb/test/test.js | 42 +++++++++---------- .../base/special/floorb/test/test.native.js | 16 +++---- .../special/floorn/benchmark/benchmark.js | 7 ++-- .../floorn/benchmark/benchmark.native.js | 7 ++-- .../floorn/benchmark/c/native/benchmark.c | 9 ++-- .../math/base/special/floorn/test/test.js | 26 ++++++------ .../base/special/floorn/test/test.native.js | 18 ++++---- 10 files changed, 79 insertions(+), 69 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.js index bde43300bdae..15b89ffd3076 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/floorb/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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var floorb = require( './../lib' ); @@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) { var y; var i; + x = uniform( 100, -5.0e6, 5.0e6 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*1.0e7 ) - 5.0e6; - y = floorb( x, 2, 20 ); + y = floorb( x[ i%x.length ], 2, 20 ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.native.js index b17a46392096..a272088d3786 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/floorb/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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) { var y; var i; + x = uniform( 100, -5.0e6, 5.0e6 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu() * 1.0e7 ) - 5.0e6; - y = floorb( x, 2, 20 ); + y = floorb( x[ i%x.length ], 2, 20 ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/c/native/benchmark.c index dc7dec297b4e..7cfc7c91d3e8 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/floorb/benchmark/c/native/benchmark.c @@ -91,15 +91,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double y; double t; 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 = stdlib_base_floorb( x, 2, 20 ); + y = stdlib_base_floorb( x[ i%100 ], 2, 20 ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/floorb/test/test.js b/lib/node_modules/@stdlib/math/base/special/floorb/test/test.js index a5ed70f1a80d..cf7cfd8a8d50 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorb/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/floorb/test/test.js @@ -48,25 +48,25 @@ tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { var v; v = floorb( NaN, -2, 1 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( 12368.0, NaN, 1 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( NaN, NaN, 1 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( 12368.0, NaN, 1 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( 12368.0, 1, NaN ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( 12368.0, NaN, NaN ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( NaN, 1, NaN ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -75,10 +75,10 @@ tape( 'the function returns `NaN` if provided `n = +-infinity`', function test( var v; v = floorb( PI, PINF, 10 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( PI, NINF, 10 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -87,10 +87,10 @@ tape( 'the function returns `NaN` if provided `b = +-infinity`', function test( var v; v = floorb( PI, 1, PINF ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( PI, 1, NINF ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -99,23 +99,23 @@ tape( 'the function returns `NaN` if provided `b <= 0`', function test( t ) { var v; v = floorb( PI, 5, 0 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorb( PI, 5, -1 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) { var v = floorb( PINF, 5, 10 ); - t.strictEqual( v, PINF, 'returns +infinity' ); + t.strictEqual( v, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `-infinity` if provided `-infinity`', function test( t ) { var v = floorb( NINF, -3, 10 ); - t.strictEqual( v, NINF, 'returns -infinity' ); + t.strictEqual( v, NINF, 'returns expected value' ); t.end(); }); @@ -123,13 +123,13 @@ tape( 'the function returns `-0` if provided `-0`', function test( t ) { var v; v = floorb( -0.0, 0, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorb( -0.0, -2, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorb( -0.0, 2, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); t.end(); }); @@ -138,13 +138,13 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) { var v; v = floorb( 0.0, 0, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorb( +0.0, -2, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorb( +0.0, 2, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/floorb/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/floorb/test/test.native.js index 8b88581176e8..b4d2d7ec9717 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorb/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/floorb/test/test.native.js @@ -75,13 +75,13 @@ tape( 'the function returns `NaN` if provided `b <= 0`', opts, function test( t tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) { var v = floorb( PINF, 5, 10 ); - t.strictEqual( v, PINF, 'returns +infinity' ); + t.strictEqual( v, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `-infinity` if provided `-infinity`', opts, function test( t ) { var v = floorb( NINF, -3, 10 ); - t.strictEqual( v, NINF, 'returns -infinity' ); + t.strictEqual( v, NINF, 'returns expected value' ); t.end(); }); @@ -89,13 +89,13 @@ tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) { var v; v = floorb( -0.0, 0, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorb( -0.0, -2, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorb( -0.0, 2, 10 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); t.end(); }); @@ -104,13 +104,13 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) { var v; v = floorb( 0.0, 0, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorb( +0.0, -2, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorb( +0.0, 2, 10 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.js index a05508ed3eb8..28d2ab1275e7 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/floorn/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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var floorn = require( './../lib' ); @@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) { var y; var i; + x = uniform( 100, -5.0e6, 5.0e6 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*1.0e7 ) - 5.0e6; - y = floorn( x, -2 ); + y = floorn( x[ i%x.length ], -2 ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.native.js index 7acdc366ad7d..c36450bf746c 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/floorn/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 isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) { var y; var i; + x = uniform( 100, -5.0e6, 5.0e6 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*1000.0 ) - 500.0; - y = floorn( x, -2 ); + y = floorn( x[ i%x.length ], -2 ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/c/native/benchmark.c index b6d48c688918..537de38e6aee 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/floorn/benchmark/c/native/benchmark.c @@ -91,15 +91,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; + double x[ 100 ]; double y; double t; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 1000.0*rand_double() ) - 500.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 1000.0*rand_double() ) - 500.0; - y = stdlib_base_floorn( x, -2 ); + y = stdlib_base_floorn( x[ i%100 ], -2 ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/test/test.js b/lib/node_modules/@stdlib/math/base/special/floorn/test/test.js index 161ff4443509..04ffcc2457f6 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/floorn/test/test.js @@ -47,13 +47,13 @@ tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { var v; v = floorn( NaN, -2 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorn( 12368.0, NaN ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorn( NaN, NaN ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -62,23 +62,23 @@ tape( 'the function returns `NaN` if provided `n = +-infinity`', function test( var v; v = floorn( PI, PINF ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); v = floorn( PI, NINF ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) { var v = floorn( PINF, 5 ); - t.strictEqual( v, PINF, 'returns +infinity' ); + t.strictEqual( v, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `-infinity` if provided `-infinity`', function test( t ) { var v = floorn( NINF, -3 ); - t.strictEqual( v, NINF, 'returns -infinity' ); + t.strictEqual( v, NINF, 'returns expected value' ); t.end(); }); @@ -86,13 +86,13 @@ tape( 'the function returns `-0` if provided `-0`', function test( t ) { var v; v = floorn( -0.0, 0 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorn( -0.0, -2 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorn( -0.0, 2 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); t.end(); }); @@ -101,13 +101,13 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) { var v; v = floorn( 0.0, 0 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorn( +0.0, -2 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorn( +0.0, 2 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/floorn/test/test.native.js index 844575b2a9a4..d3b00f04bfd2 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/floorn/test/test.native.js @@ -56,20 +56,20 @@ tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { var v; v = floorn( NaN, -2 ); - t.strictEqual( isnan( v ), true, 'returns NaN' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) { var v = floorn( PINF, 5 ); - t.strictEqual( v, PINF, 'returns +infinity' ); + t.strictEqual( v, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `-infinity` if provided `-infinity`', opts, function test( t ) { var v = floorn( NINF, -3 ); - t.strictEqual( v, NINF, 'returns -infinity' ); + t.strictEqual( v, NINF, 'returns expected value' ); t.end(); }); @@ -77,13 +77,13 @@ tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) { var v; v = floorn( -0.0, 0 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorn( -0.0, -2 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); v = floorn( -0.0, 2 ); - t.strictEqual( isNegativeZero( v ), true, 'returns -0' ); + t.strictEqual( isNegativeZero( v ), true, 'returns expected value' ); t.end(); }); @@ -92,13 +92,13 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) { var v; v = floorn( 0.0, 0 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorn( +0.0, -2 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); v = floorn( +0.0, 2 ); - t.strictEqual( isPositiveZero( v ), true, 'returns +0' ); + t.strictEqual( isPositiveZero( v ), true, 'returns expected value' ); t.end(); });