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();
 });