Skip to content

Commit da216e6

Browse files
committed
bench: update random value generation
1 parent a8f5e17 commit da216e6

File tree

10 files changed

+62
-52
lines changed

10 files changed

+62
-52
lines changed

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

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

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

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

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

4444
v = floor10( 0.0 );
45-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
45+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
4646

4747
v = floor10( +0.0 );
48-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
48+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
4949

5050
t.end();
5151
});
5252

5353
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
5454
var v = floor10( -0.0 );
55-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
55+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
5656
t.end();
5757
});
5858

5959
tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
6060
var v = floor10( NaN );
61-
t.strictEqual( isnan( v ), true, 'returns NaN' );
61+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6262
t.end();
6363
});
6464

6565
tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) {
6666
var v = floor10( PINF );
67-
t.strictEqual( v, PINF, 'returns +infinity' );
67+
t.strictEqual( v, PINF, 'returns expected value' );
6868
t.end();
6969
});
7070

7171
tape( 'the function returns `-infinity` if provided `-infinity`', function test( t ) {
7272
var v = floor10( NINF );
73-
t.strictEqual( v, NINF, 'returns -infinity' );
73+
t.strictEqual( v, NINF, 'returns expected value' );
7474
t.end();
7575
});
7676

@@ -80,11 +80,11 @@ tape( 'the function overflows if provided a sufficiently large negative value',
8080

8181
x = -pow( 10.0, 308 );
8282
v = floor10( x + (x/2.0) );
83-
t.strictEqual( v, NINF, 'returns -infinity' );
83+
t.strictEqual( v, NINF, 'returns expected value' );
8484

8585
x = -pow( 10.0, 308 );
8686
v = floor10( x + (x/3.0) );
87-
t.strictEqual( v, NINF, 'returns -infinity' );
87+
t.strictEqual( v, NINF, 'returns expected value' );
8888

8989
t.end();
9090
});
@@ -95,11 +95,11 @@ tape( 'the function underflows if provided a sufficiently small positive value',
9595

9696
x = pow( 10.0, -323 );
9797
v = floor10( x - (x/2.0) );
98-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
98+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
9999

100100
x = pow( 10.0, -323 );
101101
v = floor10( x - (x/3.0) );
102-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
102+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
103103

104104
t.end();
105105
});

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,17 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
5151
var v;
5252

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

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

5959
t.end();
6060
});
6161

6262
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
6363
var v = floor10( -0.0 );
64-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
64+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
6565
t.end();
6666
});
6767

@@ -73,13 +73,13 @@ tape( 'the function returns `NaN` if provided a `NaN`', opts, function test( t )
7373

7474
tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) {
7575
var v = floor10( PINF );
76-
t.strictEqual( v, PINF, 'returns +infinity' );
76+
t.strictEqual( v, PINF, 'returns expected value' );
7777
t.end();
7878
});
7979

8080
tape( 'the function returns `-infinity` if provided `-infinity`', opts, function test( t ) {
8181
var v = floor10( NINF );
82-
t.strictEqual( v, NINF, 'returns -infinity' );
82+
t.strictEqual( v, NINF, 'returns expected value' );
8383
t.end();
8484
});
8585

@@ -89,11 +89,11 @@ tape( 'the function overflows if provided a sufficiently large negative value',
8989

9090
x = -pow( 10.0, 308 );
9191
v = floor10( x + (x/2.0) );
92-
t.strictEqual( v, NINF, 'returns -infinity' );
92+
t.strictEqual( v, NINF, 'returns expected value' );
9393

9494
x = -pow( 10.0, 308 );
9595
v = floor10( x + (x/3.0) );
96-
t.strictEqual( v, NINF, 'returns -infinity' );
96+
t.strictEqual( v, NINF, 'returns expected value' );
9797

9898
t.end();
9999
});
@@ -104,11 +104,11 @@ tape( 'the function underflows if provided a sufficiently small positive value',
104104

105105
x = pow( 10.0, -323 );
106106
v = floor10( x - (x/2.0) );
107-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
107+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
108108

109109
x = pow( 10.0, -323 );
110110
v = floor10( x - (x/3.0) );
111-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
111+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
112112

113113
t.end();
114114
});

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

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

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

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,35 +44,35 @@ tape( 'the function returns `+0` if provided `+0`', function test( t ) {
4444
var v;
4545

4646
v = floor2( 0.0 );
47-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
47+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
4848

4949
v = floor2( +0.0 );
50-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
50+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
5151

5252
t.end();
5353
});
5454

5555
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
5656
var v = floor2( -0.0 );
57-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
57+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
5858
t.end();
5959
});
6060

6161
tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
6262
var v = floor2( NaN );
63-
t.strictEqual( isnan( v ), true, 'returns NaN' );
63+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6464
t.end();
6565
});
6666

6767
tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) {
6868
var v = floor2( PINF );
69-
t.strictEqual( v, PINF, 'returns +infinity' );
69+
t.strictEqual( v, PINF, 'returns expected value' );
7070
t.end();
7171
});
7272

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

@@ -88,11 +88,11 @@ tape( 'the function overflows if provided a sufficiently large negative value',
8888

8989
x = -exp2( 1023 );
9090
v = floor2( x + (x/2.0) );
91-
t.strictEqual( v, NINF, 'returns -infinity' );
91+
t.strictEqual( v, NINF, 'returns expected value' );
9292

9393
x = -exp2( 1023 );
9494
v = floor2( x + (x/3.0) );
95-
t.strictEqual( v, NINF, 'returns -infinity' );
95+
t.strictEqual( v, NINF, 'returns expected value' );
9696

9797
t.end();
9898
});

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,17 @@ tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
5353
var v;
5454

5555
v = floor2( 0.0 );
56-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
56+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
5757

5858
v = floor2( +0.0 );
59-
t.strictEqual( isPositiveZero( v ), true, 'returns +0' );
59+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
6060

6161
t.end();
6262
});
6363

6464
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
6565
var v = floor2( -0.0 );
66-
t.strictEqual( isNegativeZero( v ), true, 'returns -0' );
66+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
6767
t.end();
6868
});
6969

@@ -75,13 +75,13 @@ tape( 'the function returns `NaN` if provided a `NaN`', opts, function test( t )
7575

7676
tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) {
7777
var v = floor2( PINF );
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 = floor2( NINF );
84-
t.strictEqual( v, NINF, 'returns -infinity' );
84+
t.strictEqual( v, NINF, 'returns expected value' );
8585
t.end();
8686
});
8787

@@ -97,11 +97,11 @@ tape( 'the function overflows if provided a sufficiently large negative value',
9797

9898
x = -exp2( 1023 );
9999
v = floor2( x + (x/2.0) );
100-
t.strictEqual( v, NINF, 'returns -infinity' );
100+
t.strictEqual( v, NINF, 'returns expected value' );
101101

102102
x = -exp2( 1023 );
103103
v = floor2( x + (x/3.0) );
104-
t.strictEqual( v, NINF, 'returns -infinity' );
104+
t.strictEqual( v, NINF, 'returns expected value' );
105105

106106
t.end();
107107
});

0 commit comments

Comments
 (0)