Skip to content

Commit 3a03010

Browse files
authored
bench: update random value generation
PR-URL: #6204 Reviewed-by: Philipp Burckhardt <[email protected]>
1 parent 8ce4c72 commit 3a03010

File tree

10 files changed

+79
-69
lines changed

10 files changed

+79
-69
lines changed

lib/node_modules/@stdlib/math/base/special/floorb/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 floorb = 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 = floorb( x, 2, 20 );
41+
y = floorb( x[ i%x.length ], 2, 20 );
4142
if ( isnan( y ) ) {
4243
b.fail( 'should not return NaN' );
4344
}

lib/node_modules/@stdlib/math/base/special/floorb/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 = floorb( x, 2, 20 );
50+
y = floorb( x[ i%x.length ], 2, 20 );
5051
if ( isnan( y ) ) {
5152
b.fail( 'should not return NaN' );
5253
}

lib/node_modules/@stdlib/math/base/special/floorb/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_floorb( x, 2, 20 );
105+
y = stdlib_base_floorb( x[ i%100 ], 2, 20 );
103106
if ( y != y ) {
104107
printf( "should not return NaN\n" );
105108
break;

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

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

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

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

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

5959
v = floorb( 12368.0, NaN, 1 );
60-
t.strictEqual( isnan( v ), true, 'returns NaN' );
60+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6161

6262
v = floorb( 12368.0, 1, NaN );
63-
t.strictEqual( isnan( v ), true, 'returns NaN' );
63+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6464

6565
v = floorb( 12368.0, NaN, NaN );
66-
t.strictEqual( isnan( v ), true, 'returns NaN' );
66+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6767

6868
v = floorb( NaN, 1, NaN );
69-
t.strictEqual( isnan( v ), true, 'returns NaN' );
69+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7070

7171
t.end();
7272
});
@@ -75,10 +75,10 @@ tape( 'the function returns `NaN` if provided `n = +-infinity`', function test(
7575
var v;
7676

7777
v = floorb( PI, PINF, 10 );
78-
t.strictEqual( isnan( v ), true, 'returns NaN' );
78+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7979

8080
v = floorb( PI, NINF, 10 );
81-
t.strictEqual( isnan( v ), true, 'returns NaN' );
81+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8282

8383
t.end();
8484
});
@@ -87,10 +87,10 @@ tape( 'the function returns `NaN` if provided `b = +-infinity`', function test(
8787
var v;
8888

8989
v = floorb( PI, 1, PINF );
90-
t.strictEqual( isnan( v ), true, 'returns NaN' );
90+
t.strictEqual( isnan( v ), true, 'returns expected value' );
9191

9292
v = floorb( PI, 1, NINF );
93-
t.strictEqual( isnan( v ), true, 'returns NaN' );
93+
t.strictEqual( isnan( v ), true, 'returns expected value' );
9494

9595
t.end();
9696
});
@@ -99,37 +99,37 @@ tape( 'the function returns `NaN` if provided `b <= 0`', function test( t ) {
9999
var v;
100100

101101
v = floorb( PI, 5, 0 );
102-
t.strictEqual( isnan( v ), true, 'returns NaN' );
102+
t.strictEqual( isnan( v ), true, 'returns expected value' );
103103

104104
v = floorb( PI, 5, -1 );
105-
t.strictEqual( isnan( v ), true, 'returns NaN' );
105+
t.strictEqual( isnan( v ), true, 'returns expected value' );
106106

107107
t.end();
108108
});
109109

110110
tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) {
111111
var v = floorb( PINF, 5, 10 );
112-
t.strictEqual( v, PINF, 'returns +infinity' );
112+
t.strictEqual( v, PINF, 'returns expected value' );
113113
t.end();
114114
});
115115

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

122122
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
123123
var v;
124124

125125
v = floorb( -0.0, 0, 10 );
126-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
126+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
127127

128128
v = floorb( -0.0, -2, 10 );
129-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
129+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
130130

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

134134
t.end();
135135
});
@@ -138,13 +138,13 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) {
138138
var v;
139139

140140
v = floorb( 0.0, 0, 10 );
141-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
141+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
142142

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

146146
v = floorb( +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/floorb/test/test.native.js

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

7676
tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) {
7777
var v = floorb( PINF, 5, 10 );
78-
t.strictEqual( v, PINF, 'returns +infinity' );
78+
t.strictEqual( v, PINF, 'returns expected value' );
7979
t.end();
8080
});
8181

8282
tape( 'the function returns `-infinity` if provided `-infinity`', opts, function test( t ) {
8383
var v = floorb( NINF, -3, 10 );
84-
t.strictEqual( v, NINF, 'returns -infinity' );
84+
t.strictEqual( v, NINF, 'returns expected value' );
8585
t.end();
8686
});
8787

8888
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
8989
var v;
9090

9191
v = floorb( -0.0, 0, 10 );
92-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
92+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9393

9494
v = floorb( -0.0, -2, 10 );
95-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
95+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9696

9797
v = floorb( -0.0, 2, 10 );
98-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
98+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9999

100100
t.end();
101101
});
@@ -104,13 +104,13 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
104104
var v;
105105

106106
v = floorb( 0.0, 0, 10 );
107-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
107+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
108108

109109
v = floorb( +0.0, -2, 10 );
110-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
110+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
111111

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

115115
t.end();
116116
});

lib/node_modules/@stdlib/math/base/special/floorn/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 floorn = 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 = floorn( x, -2 );
41+
y = floorn( x[ i%x.length ], -2 );
4142
if ( isnan( y ) ) {
4243
b.fail( 'should not return NaN' );
4344
}

lib/node_modules/@stdlib/math/base/special/floorn/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()*1000.0 ) - 500.0;
49-
y = floorn( x, -2 );
50+
y = floorn( x[ i%x.length ], -2 );
5051
if ( isnan( y ) ) {
5152
b.fail( 'should not return NaN' );
5253
}

lib/node_modules/@stdlib/math/base/special/floorn/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_floorn( x, -2 );
105+
y = stdlib_base_floorn( x[ i%100 ], -2 );
103106
if ( y != y ) {
104107
printf( "should not return NaN\n" );
105108
break;

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
4747
var v;
4848

4949
v = floorn( NaN, -2 );
50-
t.strictEqual( isnan( v ), true, 'returns NaN' );
50+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5151

5252
v = floorn( 12368.0, NaN );
53-
t.strictEqual( isnan( v ), true, 'returns NaN' );
53+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5454

5555
v = floorn( NaN, NaN );
56-
t.strictEqual( isnan( v ), true, 'returns NaN' );
56+
t.strictEqual( isnan( v ), true, 'returns expected value' );
5757

5858
t.end();
5959
});
@@ -62,37 +62,37 @@ tape( 'the function returns `NaN` if provided `n = +-infinity`', function test(
6262
var v;
6363

6464
v = floorn( PI, PINF );
65-
t.strictEqual( isnan( v ), true, 'returns NaN' );
65+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6666

6767
v = floorn( PI, NINF );
68-
t.strictEqual( isnan( v ), true, 'returns NaN' );
68+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6969

7070
t.end();
7171
});
7272

7373
tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) {
7474
var v = floorn( PINF, 5 );
75-
t.strictEqual( v, PINF, 'returns +infinity' );
75+
t.strictEqual( v, PINF, 'returns expected value' );
7676
t.end();
7777
});
7878

7979
tape( 'the function returns `-infinity` if provided `-infinity`', function test( t ) {
8080
var v = floorn( NINF, -3 );
81-
t.strictEqual( v, NINF, 'returns -infinity' );
81+
t.strictEqual( v, NINF, 'returns expected value' );
8282
t.end();
8383
});
8484

8585
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
8686
var v;
8787

8888
v = floorn( -0.0, 0 );
89-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
89+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9090

9191
v = floorn( -0.0, -2 );
92-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
92+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9393

9494
v = floorn( -0.0, 2 );
95-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
95+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
9696

9797
t.end();
9898
});
@@ -101,13 +101,13 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) {
101101
var v;
102102

103103
v = floorn( 0.0, 0 );
104-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
104+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
105105

106106
v = floorn( +0.0, -2 );
107-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
107+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
108108

109109
v = floorn( +0.0, 2 );
110-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
110+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
111111

112112
t.end();
113113
});

0 commit comments

Comments
 (0)