Skip to content

Commit 5091fb1

Browse files
committed
bench: update random value generation
1 parent ef90f52 commit 5091fb1

File tree

16 files changed

+136
-119
lines changed

16 files changed

+136
-119
lines changed

lib/node_modules/@stdlib/math/base/special/minabs/benchmark/benchmark.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var minabs = require( './../lib' );
@@ -35,11 +35,12 @@ bench( pkg, function benchmark( b ) {
3535
var z;
3636
var i;
3737

38+
x = uniform( 100, -500.0, 500.0 );
39+
y = uniform( 100, -500.0, 500.0 );
40+
3841
b.tic();
3942
for ( i = 0; i < b.iterations; i++ ) {
40-
x = ( randu()*1000.0 ) - 500.0;
41-
y = ( randu()*1000.0 ) - 500.0;
42-
z = minabs( x, y );
43+
z = minabs( x[ i%x.length ], y[ i%y.length ] );
4344
if ( isnan( z ) ) {
4445
b.fail( 'should not return NaN' );
4546
}
@@ -58,11 +59,12 @@ bench( pkg+'::built-in', function benchmark( b ) {
5859
var z;
5960
var i;
6061

62+
x = uniform( 100, -500.0, 500.0 );
63+
y = uniform( 100, -500.0, 500.0 );
64+
6165
b.tic();
6266
for ( i = 0; i < b.iterations; i++ ) {
63-
x = ( randu()*1000.0 ) - 500.0;
64-
y = ( randu()*1000.0 ) - 500.0;
65-
z = Math.min( Math.abs( x ), Math.abs( y ) ); // eslint-disable-line stdlib/no-builtin-math
67+
z = Math.min( Math.abs( x[ i%x.length ] ), Math.abs( y[ i%y.length ] ) ); // eslint-disable-line stdlib/no-builtin-math
6668
if ( isnan( z ) ) {
6769
b.fail( 'should not return NaN' );
6870
}

lib/node_modules/@stdlib/math/base/special/minabs/benchmark/benchmark.native.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var tryRequire = require( '@stdlib/utils/try-require' );
2828
var pkg = require( './../package.json' ).name;
@@ -44,11 +44,12 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4444
var z;
4545
var i;
4646

47+
x = uniform( 100, -500.0, 500.0 );
48+
y = uniform( 100, -500.0, 500.0 );
49+
4750
b.tic();
4851
for ( i = 0; i < b.iterations; i++ ) {
49-
x = ( randu()*1000.0 ) - 500.0;
50-
y = ( randu()*1000.0 ) - 500.0;
51-
z = minabs( x, y );
52+
z = minabs( x[ i%x.length ], y[ i%y.length ] );
5253
if ( isnan( z ) ) {
5354
b.fail( 'should not return NaN' );
5455
}

lib/node_modules/@stdlib/math/base/special/minabs/benchmark/c/benchmark.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,20 @@ static double rand_double( void ) {
9090
*/
9191
static double benchmark( void ) {
9292
double elapsed;
93-
double x;
94-
double y;
93+
double x[ 100 ];
94+
double y[ 100 ];
9595
double z;
9696
double t;
9797
int i;
9898

99+
for ( i = 0; i < 100; i++ ) {
100+
x[ i ] = ( 1000.0*rand_double() ) - 500.0;
101+
y[ i ] = ( 1000.0*rand_double() ) - 500.0;
102+
}
103+
99104
t = tic();
100105
for ( i = 0; i < ITERATIONS; i++ ) {
101-
x = ( 1000.0*rand_double() ) - 500.0;
102-
y = ( 1000.0*rand_double() ) - 500.0;
103-
z = fmin( fabs(x), fabs(y) );
106+
z = fmin( fabs(x[ i%100 ]), fabs(y[ i%100 ]) );
104107
if ( z != z ) {
105108
printf( "should not return NaN\n" );
106109
break;

lib/node_modules/@stdlib/math/base/special/minabs/benchmark/c/native/benchmark.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,14 @@ static double rand_double( void ) {
9292
static double benchmark( void ) {
9393
double elapsed;
9494
double t;
95-
double x;
96-
double y;
95+
double x[ 100 ];
96+
double y[ 100 ];
9797
double z;
9898
int i;
9999

100100
t = tic();
101101
for ( i = 0; i < ITERATIONS; i++ ) {
102-
x = ( 1000.0*rand_double() ) - 500.0;
103-
y = ( 1000.0*rand_double() ) - 500.0;
104-
z = stdlib_base_minabs( x, y );
102+
z = stdlib_base_minabs( x[ i%100 ], y[ i%100 ] );
105103
if ( z != z ) {
106104
printf( "should not return NaN\n" );
107105
break;

lib/node_modules/@stdlib/math/base/special/minabs/test/test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
3939
var v;
4040

4141
v = minabs( NaN, 3.14 );
42-
t.strictEqual( isnan( v ), true, 'returns NaN' );
42+
t.strictEqual( isnan( v ), true, 'returns expected value' );
4343

4444
v = minabs( 3.14, NaN );
45-
t.strictEqual( isnan( v ), true, 'returns NaN' );
45+
t.strictEqual( isnan( v ), true, 'returns expected value' );
4646

4747
t.end();
4848
});
@@ -51,16 +51,16 @@ tape( 'the function returns a correctly signed zero', function test( t ) {
5151
var v;
5252

5353
v = minabs( +0.0, -0.0 );
54-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
54+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
5555

5656
v = minabs( -0.0, +0.0 );
57-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
57+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
5858

5959
v = minabs( -0.0, -0.0 );
60-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
60+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
6161

6262
v = minabs( +0.0, +0.0 );
63-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
63+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
6464

6565
t.end();
6666
});

lib/node_modules/@stdlib/math/base/special/minabs/test/test.native.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ tape( 'the function returns `NaN` if provided a `NaN`', opts, function test( t )
4848
var v;
4949

5050
v = minabs( NaN, 3.14 );
51-
t.strictEqual( isnan( v ), true, 'returns NaN' );
51+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5252

5353
v = minabs( 3.14, NaN );
54-
t.strictEqual( isnan( v ), true, 'returns NaN' );
54+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5555

5656
t.end();
5757
});
@@ -60,16 +60,16 @@ tape( 'the function returns a correctly signed zero', opts, function test( t ) {
6060
var v;
6161

6262
v = minabs( +0.0, -0.0 );
63-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
63+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
6464

6565
v = minabs( -0.0, +0.0 );
66-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
66+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
6767

6868
v = minabs( -0.0, -0.0 );
69-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
69+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
7070

7171
v = minabs( +0.0, +0.0 );
72-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
72+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
7373

7474
t.end();
7575
});

lib/node_modules/@stdlib/math/base/special/minabsf/benchmark/benchmark.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/array/uniform' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2525
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2626
var pkg = require( './../package.json' ).name;
2727
var minabsf = require( './../lib' );
@@ -35,8 +35,8 @@ bench( pkg, function benchmark( b ) {
3535
var z;
3636
var i;
3737

38-
x = randu( 100, -500.0, 500.0 );
39-
y = randu( 100, -500.0, 500.0 );
38+
x = uniform( 100, -500.0, 500.0 );
39+
y = uniform( 100, -500.0, 500.0 );
4040

4141
b.tic();
4242
for ( i = 0; i < b.iterations; i++ ) {

lib/node_modules/@stdlib/math/base/special/minabsf/benchmark/benchmark.native.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/array/uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2626
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2727
var tryRequire = require( '@stdlib/utils/try-require' );
2828
var pkg = require( './../package.json' ).name;
@@ -44,8 +44,8 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4444
var z;
4545
var i;
4646

47-
x = randu( 100, -500.0, 500.0 );
48-
y = randu( 100, -500.0, 500.0 );
47+
x = uniform( 100, -500.0, 500.0 );
48+
y = uniform( 100, -500.0, 500.0 );
4949

5050
b.tic();
5151
for ( i = 0; i < b.iterations; i++ ) {

lib/node_modules/@stdlib/math/base/special/minabsn/benchmark/benchmark.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var minabsn = require( './../lib' );
@@ -35,11 +35,12 @@ bench( pkg, function benchmark( b ) {
3535
var z;
3636
var i;
3737

38+
x = uniform( 100, -500.0, 500.0 );
39+
y = uniform( 100, -500.0, 500.0 );
40+
3841
b.tic();
3942
for ( i = 0; i < b.iterations; i++ ) {
40-
x = ( randu()*1000.0 ) - 500.0;
41-
y = ( randu()*1000.0 ) - 500.0;
42-
z = minabsn( x, y );
43+
z = minabsn( x[ i%x.length ], y[ i%y.length ] );
4344
if ( isnan( z ) ) {
4445
b.fail( 'should not return NaN' );
4546
}
@@ -58,11 +59,12 @@ bench( pkg+'::built-in', function benchmark( b ) {
5859
var z;
5960
var i;
6061

62+
x = uniform( 100, -500.0, 500.0 );
63+
y = uniform( 100, -500.0, 500.0 );
64+
6165
b.tic();
6266
for ( i = 0; i < b.iterations; i++ ) {
63-
x = ( randu()*1000.0 ) - 500.0;
64-
y = ( randu()*1000.0 ) - 500.0;
65-
z = Math.min( Math.abs( x ), Math.abs( y ) ); // eslint-disable-line stdlib/no-builtin-math
67+
z = Math.min( Math.abs( x[ i%x.length ] ), Math.abs( y[ i%y.length ] ) ); // eslint-disable-line stdlib/no-builtin-math
6668
if ( isnan( z ) ) {
6769
b.fail( 'should not return NaN' );
6870
}

lib/node_modules/@stdlib/math/base/special/minabsn/benchmark/c/benchmark.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,20 @@ static double rand_double( void ) {
9090
*/
9191
static double benchmark( void ) {
9292
double elapsed;
93-
double x;
94-
double y;
93+
double x[ 100 ];
94+
double y[ 100 ];
9595
double z;
9696
double t;
9797
int i;
9898

99+
for ( i = 0; i < 100; i++ ) {
100+
x[ i ] = ( 1000.0*rand_double() ) - 500.0;
101+
y[ i ] = ( 1000.0*rand_double() ) - 500.0;
102+
}
103+
99104
t = tic();
100105
for ( i = 0; i < ITERATIONS; i++ ) {
101-
x = ( 1000.0*rand_double() ) - 500.0;
102-
y = ( 1000.0*rand_double() ) - 500.0;
103-
z = fmin( fabs(x), fabs(y) );
106+
z = fmin( fabs(x[ i%100 ]), fabs(y[ i%100 ]) );
104107
if ( z != z ) {
105108
printf( "should not return NaN\n" );
106109
break;

0 commit comments

Comments
 (0)