Skip to content

Commit dededfd

Browse files
authored
bench: update random value generation
PR-URL: #6682 Reviewed-by: Athan Reines <[email protected]>
1 parent 2b6d616 commit dededfd

File tree

12 files changed

+80
-56
lines changed

12 files changed

+80
-56
lines changed

lib/node_modules/@stdlib/math/base/assert/is-composite/test/test.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@ tape( 'the function returns `false` if provided a prime number', function test(
4949
M = 2e4;
5050
for ( i = 0; i < M; i++ ) {
5151
v = PRIMES[ i ];
52-
t.equal( isComposite( v ), false, 'returns false when provided '+v );
52+
t.equal( isComposite( v ), false, 'returns expected value when provided '+v );
5353
}
5454
// Randomly test prime numbers chosen from the remainder of the list of known prime numbers...
5555
N = PRIMES.length - 1;
5656
for ( i = 0; i < 1e3; i++ ) {
5757
j = discreteUniform( M, N );
5858
v = PRIMES[ j ];
59-
t.equal( isComposite( v ), false, 'returns false when provided '+v );
59+
t.equal( isComposite( v ), false, 'returns expected value when provided '+v );
6060
}
6161
t.end();
6262
});
@@ -79,7 +79,7 @@ tape( 'the function returns `true` if provided a composite number', function tes
7979
if ( hash[ i ] ) {
8080
continue;
8181
}
82-
t.equal( isComposite( i ), true, 'returns true when provided '+i );
82+
t.equal( isComposite( i ), true, 'returns expected value when provided '+i );
8383
}
8484
// Generate random composite integers among the list of primes...
8585
MAX = PRIMES[ N-1 ];
@@ -92,7 +92,7 @@ tape( 'the function returns `true` if provided a composite number', function tes
9292
i -= 1;
9393
continue;
9494
}
95-
t.equal( isComposite( j ), true, 'returns true when provided '+j );
95+
t.equal( isComposite( j ), true, 'returns expected value when provided '+j );
9696
}
9797
t.end();
9898
});
@@ -103,7 +103,7 @@ tape( 'the function returns `false` if not provided a positive integer', functio
103103
for ( i = 0; i < 100; i++ ) {
104104
v = ( randu()*100.0 ) - 50.0;
105105
if ( trunc(v) !== v ) {
106-
t.equal( isComposite( v ), false, 'returns false when provided '+v );
106+
t.equal( isComposite( v ), false, 'returns expected value when provided '+v );
107107
}
108108
}
109109
t.end();

lib/node_modules/@stdlib/math/base/assert/is-composite/test/test.native.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ tape( 'the function returns `false` if provided a prime number', opts, function
6262
M = 2e4;
6363
for ( i = 0; i < M; i++ ) {
6464
v = PRIMES[ i ];
65-
t.equal( isComposite( v ), false, 'returns false when provided ' + v );
65+
t.equal( isComposite( v ), false, 'returns expected value when provided ' + v );
6666
}
6767
// Randomly test prime numbers chosen from the remainder of the list of known prime numbers...
6868
N = PRIMES.length - 1;
6969
for ( i = 0; i < 1e3; i++ ) {
7070
j = discreteUniform( M, N );
7171
v = PRIMES[ j ];
72-
t.equal( isComposite( v ), false, 'returns false when provided ' + v );
72+
t.equal( isComposite( v ), false, 'returns expected value when provided ' + v );
7373
}
7474
t.end();
7575
});
@@ -92,7 +92,7 @@ tape( 'the function returns `true` if provided a composite number', opts, functi
9292
if ( hash[ i ] ) {
9393
continue;
9494
}
95-
t.equal( isComposite( i ), true, 'returns true when provided ' + i );
95+
t.equal( isComposite( i ), true, 'returns expected value when provided ' + i );
9696
}
9797
// Generate random composite integers among the list of primes...
9898
MAX = PRIMES[ N-1 ];
@@ -105,7 +105,7 @@ tape( 'the function returns `true` if provided a composite number', opts, functi
105105
i -= 1;
106106
continue;
107107
}
108-
t.equal( isComposite( j ), true, 'returns true when provided ' + j );
108+
t.equal( isComposite( j ), true, 'returns expected value when provided ' + j );
109109
}
110110
t.end();
111111
});
@@ -116,7 +116,7 @@ tape( 'the function returns `false` if not provided a positive integer', opts, f
116116
for ( i = 0; i < 100; i++ ) {
117117
v = ( randu()*100.0 ) - 50.0;
118118
if ( trunc( v ) !== v ) {
119-
t.equal( isComposite( v ), false, 'returns false when provided ' + v );
119+
t.equal( isComposite( v ), false, 'returns expected value when provided ' + v );
120120
}
121121
}
122122
t.end();

lib/node_modules/@stdlib/math/base/assert/is-negative-finite/benchmark/benchmark.js

Lines changed: 8 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 isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;
2626
var pkg = require( './../package.json' ).name;
2727
var isNegativeFinite = require( './../lib' );
@@ -30,14 +30,19 @@ var isNegativeFinite = require( './../lib' );
3030
// MAIN //
3131

3232
bench( pkg, function benchmark( b ) {
33+
var opts;
3334
var x;
3435
var y;
3536
var i;
3637

38+
opts = {
39+
'dtype': 'float64'
40+
};
41+
x = uniform( 100, -100.0, 100.0, opts );
42+
3743
b.tic();
3844
for ( i = 0; i < b.iterations; i++ ) {
39-
x = (randu()*200.0) - 100.0;
40-
y = isNegativeFinite( x );
45+
y = isNegativeFinite( x[ i%x.length ] );
4146
if ( typeof y !== 'boolean' ) {
4247
b.fail( 'should return a boolean' );
4348
}

lib/node_modules/@stdlib/math/base/assert/is-negative-finite/benchmark/benchmark.native.js

Lines changed: 8 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 isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;
2727
var tryRequire = require( '@stdlib/utils/try-require' );
2828
var pkg = require( './../package.json' ).name;
@@ -39,14 +39,19 @@ var opts = {
3939
// MAIN //
4040

4141
bench( pkg+'::native', opts, function benchmark( b ) {
42+
var opts;
4243
var x;
4344
var y;
4445
var i;
4546

47+
opts = {
48+
'dtype': 'float64'
49+
};
50+
x = uniform( 100, -100.0, 100.0, opts );
51+
4652
b.tic();
4753
for ( i = 0; i < b.iterations; i++ ) {
48-
x = ( randu()*200.0 ) - 100.0;
49-
y = isNegativeFinite( x );
54+
y = isNegativeFinite( x[ i%x.length ] );
5055
if ( typeof y !== 'boolean' ) {
5156
b.fail( 'should return a boolean' );
5257
}

lib/node_modules/@stdlib/math/base/assert/is-negative-finite/benchmark/c/native/benchmark.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,18 @@ static double rand_double( void ) {
9292
*/
9393
static double benchmark( void ) {
9494
double elapsed;
95-
double x;
95+
double x[ 100 ];
9696
double t;
9797
bool b;
9898
int i;
9999

100+
for ( i = 0; i < 100; i++ ) {
101+
x[ i ] = ( rand_double() * 200.0 ) - 100.0;
102+
}
103+
100104
t = tic();
101105
for ( i = 0; i < ITERATIONS; i++ ) {
102-
x = ( rand_double() * 200.0 ) - 100.0;
103-
b = stdlib_base_is_negative_finite( x );
106+
b = stdlib_base_is_negative_finite( x[ i%100 ] );
104107
if ( b != true && b != false ) {
105108
printf( "should return either true or false\n" );
106109
break;

lib/node_modules/@stdlib/math/base/assert/is-negative-finite/test/test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,24 @@ tape( 'main export is a function', function test( t ) {
3434
});
3535

3636
tape( 'the function returns `true` if provided a negative finite number', function test( t ) {
37-
t.equal( isNegativeFinite( -3.14 ), true, 'returns true' );
38-
t.equal( isNegativeFinite( -1.0e308 ), true, 'returns true' );
37+
t.equal( isNegativeFinite( -3.14 ), true, 'returns expected value' );
38+
t.equal( isNegativeFinite( -1.0e308 ), true, 'returns expected value' );
3939
t.end();
4040
});
4141

4242
tape( 'the function returns `false` if not provided a negative finite number', function test( t ) {
43-
t.equal( isNegativeFinite( 2.0 ), false, 'returns false' );
44-
t.equal( isNegativeFinite( 0.0 ), false, 'returns false' );
45-
t.equal( isNegativeFinite( -0.0 ), false, 'returns false' );
43+
t.equal( isNegativeFinite( 2.0 ), false, 'returns expected value' );
44+
t.equal( isNegativeFinite( 0.0 ), false, 'returns expected value' );
45+
t.equal( isNegativeFinite( -0.0 ), false, 'returns expected value' );
4646
t.end();
4747
});
4848

4949
tape( 'the function returns `false` if provided `-infinity`', function test( t ) {
50-
t.equal( isNegativeFinite( NINF ), false, 'returns false' );
50+
t.equal( isNegativeFinite( NINF ), false, 'returns expected value' );
5151
t.end();
5252
});
5353

5454
tape( 'the function returns `false` if provided `NaN`', function test( t ) {
55-
t.equal( isNegativeFinite( NaN ), false, 'returns false' );
55+
t.equal( isNegativeFinite( NaN ), false, 'returns expected value' );
5656
t.end();
5757
});

lib/node_modules/@stdlib/math/base/assert/is-negative-finite/test/test.native.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,24 @@ tape( 'main export is a function', opts, function test( t ) {
4343
});
4444

4545
tape( 'the function returns `true` if provided a negative finite number', opts, function test( t ) {
46-
t.equal( isNegativeFinite( -3.14 ), true, 'returns true' );
47-
t.equal( isNegativeFinite( -1.0e308 ), true, 'returns true' );
46+
t.equal( isNegativeFinite( -3.14 ), true, 'returns expected value' );
47+
t.equal( isNegativeFinite( -1.0e308 ), true, 'returns expected value' );
4848
t.end();
4949
});
5050

5151
tape( 'the function returns `false` if not provided a negative finite number', opts, function test( t ) {
52-
t.equal( isNegativeFinite( 2.0 ), false, 'returns false' );
53-
t.equal( isNegativeFinite( 0.0 ), false, 'returns false' );
54-
t.equal( isNegativeFinite( -0.0 ), false, 'returns false' );
52+
t.equal( isNegativeFinite( 2.0 ), false, 'returns expected value' );
53+
t.equal( isNegativeFinite( 0.0 ), false, 'returns expected value' );
54+
t.equal( isNegativeFinite( -0.0 ), false, 'returns expected value' );
5555
t.end();
5656
});
5757

5858
tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) {
59-
t.equal( isNegativeFinite( NINF ), false, 'returns false' );
59+
t.equal( isNegativeFinite( NINF ), false, 'returns expected value' );
6060
t.end();
6161
});
6262

6363
tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) {
64-
t.equal( isNegativeFinite( NaN ), false, 'returns false' );
64+
t.equal( isNegativeFinite( NaN ), false, 'returns expected value' );
6565
t.end();
6666
});

lib/node_modules/@stdlib/math/base/assert/is-negative-integer/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
25-
var round = require( '@stdlib/math/base/special/round' );
24+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2625
var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;
2726
var pkg = require( './../package.json' ).name;
2827
var isNegativeInteger = require( './../lib' );
@@ -31,14 +30,19 @@ var isNegativeInteger = require( './../lib' );
3130
// MAIN //
3231

3332
bench( pkg, function benchmark( b ) {
33+
var opts;
3434
var x;
3535
var y;
3636
var i;
3737

38+
opts = {
39+
'dtype': 'float64'
40+
};
41+
x = discreteUniform( 100, -5.0e6, 5.0e6, opts );
42+
3843
b.tic();
3944
for ( i = 0; i < b.iterations; i++ ) {
40-
x = round( (randu()*1.0e7) - 5.0e6 );
41-
y = isNegativeInteger( x );
45+
y = isNegativeInteger( x[ i%x.length ] );
4246
if ( typeof y !== 'boolean' ) {
4347
b.fail( 'should return a boolean' );
4448
}

lib/node_modules/@stdlib/math/base/assert/is-negative-integer/benchmark/benchmark.native.js

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

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/base/randu' );
26-
var round = require( '@stdlib/math/base/special/round' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2726
var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var pkg = require( './../package.json' ).name;
@@ -40,14 +39,19 @@ var opts = {
4039
// MAIN //
4140

4241
bench( pkg+'::native', opts, function benchmark( b ) {
42+
var opts;
4343
var x;
4444
var y;
4545
var i;
4646

47+
opts = {
48+
'dtype': 'float64'
49+
};
50+
x = discreteUniform( 100, -5.0e6, 5.0e6, opts );
51+
4752
b.tic();
4853
for ( i = 0; i < b.iterations; i++ ) {
49-
x = round( (randu()*1.0e7) - 5.0e6 );
50-
y = isNegativeInteger( x );
54+
y = isNegativeInteger( x[ i%x.length ] );
5155
if ( typeof y !== 'boolean' ) {
5256
b.fail( 'should return a boolean' );
5357
}

lib/node_modules/@stdlib/math/base/assert/is-negative-integer/benchmark/c/native/benchmark.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,18 @@ static double rand_double( void ) {
9292
*/
9393
static double benchmark( void ) {
9494
double elapsed;
95-
double x;
95+
double x[ 100 ];
9696
double t;
9797
bool b;
9898
int i;
9999

100+
for ( i = 0; i < 100; i++ ) {
101+
x[ i ] = ( rand_double() * 200.0 ) - 100.0;
102+
}
103+
100104
t = tic();
101105
for ( i = 0; i < ITERATIONS; i++ ) {
102-
x = ( rand_double() * 200.0 ) - 100.0;
103-
b = stdlib_base_is_negative_integer( x );
106+
b = stdlib_base_is_negative_integer( x[ i%100 ] );
104107
if ( b != true && b != false ) {
105108
printf( "should return either true or false\n" );
106109
break;

0 commit comments

Comments
 (0)