Skip to content

Commit 305348b

Browse files
authored
bench: update random value generation
PR-URL: #6264 Reviewed-by: Athan Reines <[email protected]>
1 parent afd63f8 commit 305348b

File tree

17 files changed

+105
-76
lines changed

17 files changed

+105
-76
lines changed

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

Lines changed: 4 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/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 floorsd = require( './../lib' );
@@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) {
3434
var y;
3535
var i;
3636

37+
x = uniform( 100, -5.0e6, 5.0e6 );
38+
3739
b.tic();
3840
for ( i = 0; i < b.iterations; i++ ) {
39-
x = ( randu()*1.0e7 ) - 5.0e6;
40-
y = floorsd( x, 2, 2 );
41+
y = floorsd( x[ i%x.length ], 2, 2 );
4142
if ( isnan( y ) ) {
4243
b.fail( 'should not return NaN' );
4344
}

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

Lines changed: 4 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/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;
@@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4343
var y;
4444
var i;
4545

46+
x = uniform( 100, -5.0e6, 5.0e6 );
47+
4648
b.tic();
4749
for ( i = 0; i < b.iterations; i++ ) {
48-
x = ( randu() * 1.0e7 ) - 5.0e6;
49-
y = floorsd( x, 2, 2 );
50+
y = floorsd( x[ i%x.length ], 2, 2 );
5051
if ( isnan( y ) ) {
5152
b.fail( 'should not return NaN' );
5253
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,18 @@ static double rand_double( void ) {
9191
*/
9292
static double benchmark( void ) {
9393
double elapsed;
94-
double x;
94+
double x[ 100 ];
9595
double y;
9696
double t;
9797
int i;
9898

99+
for ( i = 0; i < 100; i++ ) {
100+
x[ i ] = ( 1.0e7 * rand_double() ) - 5.0e6;
101+
}
102+
99103
t = tic();
100104
for ( i = 0; i < ITERATIONS; i++ ) {
101-
x = ( 1.0e7 * rand_double() ) - 5.0e6;
102-
y = stdlib_base_floorsd( x, 2, 2 );
105+
y = stdlib_base_floorsd( x[ i%100 ], 2, 2 );
103106
if ( y != y ) {
104107
printf( "should not return NaN\n" );
105108
break;

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,25 @@ tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
4242
var v;
4343

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

4747
v = floorsd( 12368.0, NaN, 10 );
48-
t.strictEqual( isnan( v ), true, 'returns NaN' );
48+
t.strictEqual( isnan( v ), true, 'returns expected value' );
4949

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

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

5656
v = floorsd( NaN, 2, 10 );
57-
t.strictEqual( isnan( v ), true, 'returns NaN' );
57+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5858

5959
v = floorsd( 3.14, NaN, 10 );
60-
t.strictEqual( isnan( v ), true, 'returns NaN' );
60+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6161

6262
v = floorsd( 3.14, 2, NaN );
63-
t.strictEqual( isnan( v ), true, 'returns NaN' );
63+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6464

6565
t.end();
6666
});
@@ -69,10 +69,10 @@ tape( 'the function returns `NaN` if provided `n = +-infinity`', function test(
6969
var v;
7070

7171
v = floorsd( PI, PINF, 10 );
72-
t.strictEqual( isnan( v ), true, 'returns NaN' );
72+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7373

7474
v = floorsd( PI, NINF, 10 );
75-
t.strictEqual( isnan( v ), true, 'returns NaN' );
75+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7676

7777
t.end();
7878
});
@@ -81,10 +81,10 @@ tape( 'the function returns `NaN` if provided `n < 1`', function test( t ) {
8181
var v;
8282

8383
v = floorsd( PI, 0, 10 );
84-
t.strictEqual( isnan( v ), true, 'returns NaN' );
84+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8585

8686
v = floorsd( PI, -1, 10 );
87-
t.strictEqual( isnan( v ), true, 'returns NaN' );
87+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8888

8989
t.end();
9090
});
@@ -93,10 +93,10 @@ tape( 'the function returns `NaN` if provided `b = +-infinity`', function test(
9393
var v;
9494

9595
v = floorsd( PI, 2, PINF );
96-
t.strictEqual( isnan( v ), true, 'returns NaN' );
96+
t.strictEqual( isnan( v ), true, 'returns expected value' );
9797

9898
v = floorsd( PI, 2, NINF );
99-
t.strictEqual( isnan( v ), true, 'returns NaN' );
99+
t.strictEqual( isnan( v ), true, 'returns expected value' );
100100

101101
t.end();
102102
});
@@ -105,34 +105,34 @@ tape( 'the function returns `NaN` if provided `b <= 0`', function test( t ) {
105105
var v;
106106

107107
v = floorsd( PI, 2, 0 );
108-
t.strictEqual( isnan( v ), true, 'returns NaN' );
108+
t.strictEqual( isnan( v ), true, 'returns expected value' );
109109

110110
v = floorsd( PI, 2, -1 );
111-
t.strictEqual( isnan( v ), true, 'returns NaN' );
111+
t.strictEqual( isnan( v ), true, 'returns expected value' );
112112

113113
t.end();
114114
});
115115

116116
tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) {
117117
var v = floorsd( PINF, 5, 10 );
118-
t.strictEqual( v, PINF, 'returns +infinity' );
118+
t.strictEqual( v, PINF, 'returns expected value' );
119119
t.end();
120120
});
121121

122122
tape( 'the function returns `-infinity` if provided `-infinity`', function test( t ) {
123123
var v = floorsd( NINF, 3, 10 );
124-
t.strictEqual( v, NINF, 'returns -infinity' );
124+
t.strictEqual( v, NINF, 'returns expected value' );
125125
t.end();
126126
});
127127

128128
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
129129
var v;
130130

131131
v = floorsd( -0.0, 1, 10 );
132-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
132+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
133133

134134
v = floorsd( -0.0, 2, 10 );
135-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
135+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
136136

137137
t.end();
138138
});
@@ -141,10 +141,10 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) {
141141
var v;
142142

143143
v = floorsd( 0.0, 1, 10 );
144-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
144+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
145145

146146
v = floorsd( +0.0, 2, 10 );
147-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
147+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
148148

149149
t.end();
150150
});

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,24 +93,24 @@ tape( 'the function returns `NaN` if provided `b <= 0`', opts, function test( t
9393

9494
tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) {
9595
var v = floorsd( PINF, 5, 10 );
96-
t.strictEqual( v, PINF, 'returns +infinity' );
96+
t.strictEqual( v, PINF, 'returns expected value' );
9797
t.end();
9898
});
9999

100100
tape( 'the function returns `-infinity` if provided `-infinity`', opts, function test( t ) {
101101
var v = floorsd( NINF, 3, 10 );
102-
t.strictEqual( v, NINF, 'returns -infinity' );
102+
t.strictEqual( v, NINF, 'returns expected value' );
103103
t.end();
104104
});
105105

106106
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
107107
var v;
108108

109109
v = floorsd( -0.0, 1, 10 );
110-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
110+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
111111

112112
v = floorsd( -0.0, 2, 10 );
113-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
113+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
114114

115115
t.end();
116116
});
@@ -119,10 +119,10 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
119119
var v;
120120

121121
v = floorsd( 0.0, 1, 10 );
122-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
122+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
123123

124124
v = floorsd( +0.0, 2, 10 );
125-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
125+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
126126

127127
t.end();
128128
});

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

Lines changed: 7 additions & 5 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 inv = require( './../lib' );
@@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) {
3434
var y;
3535
var i;
3636

37+
x = uniform( 100, -500.0, 500.0 );
38+
3739
b.tic();
3840
for ( i = 0; i < b.iterations; i++ ) {
39-
x = ( randu()*1000.0 ) - 500.0;
40-
y = inv( x );
41+
y = inv( x[ i%x.length ] );
4142
if ( isnan( y ) ) {
4243
b.fail( 'should not return NaN' );
4344
}
@@ -55,10 +56,11 @@ bench( pkg+'::built-in', function benchmark( b ) {
5556
var y;
5657
var i;
5758

59+
x = uniform( 100, -500.0, 500.0 );
60+
5861
b.tic();
5962
for ( i = 0; i < b.iterations; i++ ) {
60-
x = ( randu()*1000.0 ) - 500.0;
61-
y = 1.0 / x;
63+
y = 1.0 / x[ i%x.length ];
6264
if ( isnan( y ) ) {
6365
b.fail( 'should not return NaN' );
6466
}

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

Lines changed: 4 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/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;
@@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4343
var y;
4444
var i;
4545

46+
x = uniform( 100, -500.0, 500.0 );
47+
4648
b.tic();
4749
for ( i = 0; i < b.iterations; i++ ) {
48-
x = ( randu()*1000.0 ) - 500.0;
49-
y = inv( x );
50+
y = inv( x[ i%x.length ] );
5051
if ( isnan( y ) ) {
5152
b.fail( 'should not return NaN' );
5253
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,18 @@ double inv( double x ) {
100100
*/
101101
static double benchmark( void ) {
102102
double elapsed;
103-
double x;
103+
double x[ 100 ];
104104
double y;
105105
double t;
106106
int i;
107107

108+
for ( i = 0; i < 100; i++ ) {
109+
x[ i ] = ( 1000.0*rand_double() ) - 500.0;
110+
}
111+
108112
t = tic();
109113
for ( i = 0; i < ITERATIONS; i++ ) {
110-
x = ( 1000.0*rand_double() ) - 500.0;
111-
y = inv( x );
114+
y = inv( x[ i%100 ] );
112115
if ( y != y ) {
113116
printf( "should not return NaN\n" );
114117
break;

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,18 @@ static double rand_double( void ) {
9191
*/
9292
static double benchmark( void ) {
9393
double elapsed;
94-
double x;
94+
double x[ 100 ];
9595
double y;
9696
double t;
9797
int i;
9898

99+
for ( i = 0; i < 100; i++ ) {
100+
x[ i ] = ( 1000.0*rand_double() ) - 500.0;
101+
}
102+
99103
t = tic();
100104
for ( i = 0; i < ITERATIONS; i++ ) {
101-
x = ( 1000.0*rand_double() ) - 500.0;
102-
y = stdlib_base_inv( x );
105+
y = stdlib_base_inv( x[ i%100 ] );
103106
if ( y != y ) {
104107
printf( "should not return NaN\n" );
105108
break;

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ tape( 'the function computes the multiplicative inverse of a number', function t
4444
});
4545

4646
tape( 'the function computes the multiplicative inverse of negative infinity', function test( t ) {
47-
t.strictEqual( isNegativeZero( inv( NINF ) ), true, 'returns negative zero' );
47+
t.strictEqual( isNegativeZero( inv( NINF ) ), true, 'returns expected value' );
4848
t.end();
4949
});
5050

5151
tape( 'the function computes the multiplicative inverse of positive infinity', function test( t ) {
52-
t.strictEqual( isPositiveZero( inv( PINF ) ), true, 'returns positive zero' );
52+
t.strictEqual( isPositiveZero( inv( PINF ) ), true, 'returns expected value' );
5353
t.end();
5454
});
5555

@@ -65,6 +65,6 @@ tape( 'the function computes the multiplicative inverse of negative zero', funct
6565

6666
tape( 'if provided `NaN`, the function returns `NaN`', function test( t ) {
6767
var v = inv( NaN );
68-
t.strictEqual( isnan( v ), true, 'returns NaN' );
68+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6969
t.end();
7070
});

0 commit comments

Comments
 (0)