From 3472942902798dfe99654e173e3bb8726de82524 Mon Sep 17 00:00:00 2001 From: hrshya Date: Thu, 20 Mar 2025 23:19:56 +0530 Subject: [PATCH 1/2] bench: update random value generation --- .../math/base/special/fmod/benchmark/benchmark.js | 9 +++++---- .../base/special/fmod/benchmark/benchmark.native.js | 9 +++++---- .../special/fmod/benchmark/c/native/benchmark.c | 13 ++++++++----- .../math/base/special/fmodf/benchmark/benchmark.js | 6 +++--- .../special/fmodf/benchmark/benchmark.native.js | 6 +++--- 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js index a0e536907772..5e84030a8395 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/fmod/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 fmod = require( './../lib' ); @@ -35,11 +35,12 @@ bench( pkg, function benchmark( b ) { var z; var i; + x = uniform( 100, 0, 100.0 ); + y = uniform( 100, -50.0, 50.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu() * 100.0 ) - 0.0; - y = ( randu() * 100.0 ) - 50.0; - z = fmod( x, y ); + z = fmod( x[ i % x.length ], y[ i % y.length ] ); if ( isnan( z ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js index dc547716e6ab..ae43e7a47784 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/fmod/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; @@ -44,11 +44,12 @@ bench( pkg+'::native', opts, function benchmark( b ) { var z; var i; + x = uniform( 100, 0, 100.0 ); + y = uniform( 100, -50.0, 50.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu() * 100.0 ) - 0.0; - y = ( randu() * 100.0 ) - 50.0; - z = fmod( x, y ); + z = fmod( x[ i % x.length ], y[ i % y.length ] ); if ( isnan( z ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/c/native/benchmark.c index 6e25ddaea650..e48a613f7861 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/c/native/benchmark.c @@ -91,17 +91,20 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; - double y; + double x[ 100 ]; + double y[ 100 ]; double z; double t; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_double() * 100.0 ) - 0.0; + y[ i ] = ( rand_double() * 100.0 ) - 50.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( rand_double() * 100.0 ) - 0.0; - y = ( rand_double() * 100.0 ) - 50.0; - z = stdlib_base_fmod( x, y ); + z = stdlib_base_fmod( x[ i % 100 ], y[ i % 100 ] ); if ( z != z ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.js index 9c7fab9ba2b2..b415867083dc 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.js @@ -21,7 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var pkg = require( './../package.json' ).name; var fmodf = require( './../lib' ); @@ -35,8 +35,8 @@ bench( pkg, function benchmark( b ) { var z; var i; - x = randu( 100, 0.0, 100.0 ); - y = randu( 100, -50.0, 50.0 ); + x = uniform( 100, 0.0, 100.0 ); + y = uniform( 100, -50.0, 50.0 ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.native.js index ac785a10f88a..918cf688d980 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/fmodf/benchmark/benchmark.native.js @@ -22,7 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/array/uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -44,8 +44,8 @@ bench( pkg+'::native', opts, function benchmark( b ) { var z; var i; - x = randu( 100, 0.0, 100.0 ); - y = randu( 100, -50.0, 50.0 ); + x = uniform( 100, 0.0, 100.0 ); + y = uniform( 100, -50.0, 50.0 ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { From 8a0bea9a60959c0c77060cb31b226b1d3b69bba1 Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 20 Mar 2025 18:03:25 -0700 Subject: [PATCH 2/2] Apply suggestions from code review Signed-off-by: Athan --- .../@stdlib/math/base/special/fmod/benchmark/benchmark.js | 2 +- .../math/base/special/fmod/benchmark/benchmark.native.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js index 5e84030a8395..f8cf17a5870a 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.js @@ -35,7 +35,7 @@ bench( pkg, function benchmark( b ) { var z; var i; - x = uniform( 100, 0, 100.0 ); + x = uniform( 100, 0.0, 100.0 ); y = uniform( 100, -50.0, 50.0 ); b.tic(); diff --git a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js index ae43e7a47784..2e5bcdf237fa 100644 --- a/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/fmod/benchmark/benchmark.native.js @@ -44,7 +44,7 @@ bench( pkg+'::native', opts, function benchmark( b ) { var z; var i; - x = uniform( 100, 0, 100.0 ); + x = uniform( 100, 0.0, 100.0 ); y = uniform( 100, -50.0, 50.0 ); b.tic();