Skip to content

Commit 221e7ef

Browse files
authored
bench: update random value generation
PR-URL: #9976 Reviewed-by: Athan Reines <kgryte@gmail.com> Reviewed-by: Philipp Burckhardt <pburckhardt@outlook.com>
1 parent 9159299 commit 221e7ef

4 files changed

Lines changed: 56 additions & 30 deletions

File tree

lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
25-
var ceil = require( '@stdlib/math/base/special/ceil' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var format = require( '@stdlib/string/format' );
2728
var pkg = require( './../package.json' ).name;
2829
var cdf = require( './../lib' );
2930

3031

3132
// MAIN //
3233

3334
bench( pkg, function benchmark( b ) {
35+
var opts;
3436
var n;
3537
var x;
3638
var y;
3739
var i;
3840

41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
x = uniform( 100, 0.0, 20.0, opts );
45+
n = discreteUniform( 100, 1, 20, opts );
46+
3947
b.tic();
4048
for ( i = 0; i < b.iterations; i++ ) {
41-
x = randu() * 20.0;
42-
n = ceil( randu()*20.0 );
43-
y = cdf( x, n );
49+
y = cdf( x[ i%x.length ], n[ i%n.length ] );
4450
if ( isnan( y ) ) {
4551
b.fail( 'should not return NaN' );
4652
}
@@ -53,7 +59,7 @@ bench( pkg, function benchmark( b ) {
5359
b.end();
5460
});
5561

56-
bench( pkg+':factory', function benchmark( b ) {
62+
bench( format( '%s::factory', pkg ), function benchmark( b ) {
5763
var mycdf;
5864
var n;
5965
var x;
@@ -63,10 +69,13 @@ bench( pkg+':factory', function benchmark( b ) {
6369
n = 20;
6470
mycdf = cdf.factory( n );
6571

72+
x = uniform( 100, 0.0, 20.0, {
73+
'dtype': 'float64'
74+
});
75+
6676
b.tic();
6777
for ( i = 0; i < b.iterations; i++ ) {
68-
x = randu() * 20.0;
69-
y = mycdf( x );
78+
y = mycdf( x[ i%x.length ] );
7079
if ( isnan( y ) ) {
7180
b.fail( 'should not return NaN' );
7281
}

lib/node_modules/@stdlib/stats/base/dists/signrank/pdf/benchmark/benchmark.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,29 @@ var bench = require( '@stdlib/bench' );
2424
var uniform = require( '@stdlib/random/array/uniform' );
2525
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var format = require( '@stdlib/string/format' );
2728
var pkg = require( './../package.json' ).name;
2829
var pdf = require( './../lib' );
2930

3031

3132
// MAIN //
3233

3334
bench( pkg, function benchmark( b ) {
34-
var len;
35+
var opts;
3536
var n;
3637
var x;
3738
var y;
3839
var i;
3940

40-
len = 100;
41-
x = uniform( len, 0.0, 30.0 );
42-
n = discreteUniform( len, 1, 30 );
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
x = uniform( 100, 0.0, 30.0, opts );
45+
n = discreteUniform( 100, 1, 30, opts );
4346

4447
b.tic();
4548
for ( i = 0; i < b.iterations; i++ ) {
46-
y = pdf( x[ i % len ], n[ i % len ] );
49+
y = pdf( x[ i % x.length ], n[ i % n.length ] );
4750
if ( isnan( y ) ) {
4851
b.fail( 'should not return NaN' );
4952
}
@@ -56,7 +59,7 @@ bench( pkg, function benchmark( b ) {
5659
b.end();
5760
});
5861

59-
bench( pkg+':factory', function benchmark( b ) {
62+
bench( format( '%s::factory', pkg ), function benchmark( b ) {
6063
var mypdf;
6164
var n;
6265
var x;
@@ -65,11 +68,13 @@ bench( pkg+':factory', function benchmark( b ) {
6568

6669
n = 20;
6770
mypdf = pdf.factory( n );
68-
x = uniform( 100, -2.0, 2.0 );
71+
x = uniform( 100, -2.0, 2.0, {
72+
'dtype': 'float64'
73+
});
6974

7075
b.tic();
7176
for ( i = 0; i < b.iterations; i++ ) {
72-
y = mypdf( x[ i % x.length] );
77+
y = mypdf( x[ i % x.length ] );
7378
if ( isnan( y ) ) {
7479
b.fail( 'should not return NaN' );
7580
}

lib/node_modules/@stdlib/stats/base/dists/signrank/pdf/benchmark/benchmark.native.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ var bench = require( '@stdlib/bench' );
2525
var uniform = require( '@stdlib/random/array/uniform' );
2626
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
28+
var format = require( '@stdlib/string/format' );
2829
var tryRequire = require( '@stdlib/utils/try-require' );
2930
var pkg = require( './../package.json' ).name;
3031

@@ -39,20 +40,22 @@ var opts = {
3940

4041
// MAIN //
4142

42-
bench( pkg+'::native', opts, function benchmark( b ) {
43-
var len;
43+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
44+
var opts;
4445
var n;
4546
var x;
4647
var y;
4748
var i;
4849

49-
len = 100;
50-
x = uniform( len, 0.0, 30.0 );
51-
n = discreteUniform( len, 1, 30 );
50+
opts = {
51+
'dtype': 'float64'
52+
};
53+
x = uniform( 100, 0.0, 30.0, opts );
54+
n = discreteUniform( 100, 1, 30, opts );
5255

5356
b.tic();
5457
for ( i = 0; i < b.iterations; i++ ) {
55-
y = pdf( x[ i % len ], n[ i % len ] );
58+
y = pdf( x[ i % x.length ], n[ i % n.length ] );
5659
if ( isnan( y ) ) {
5760
b.fail( 'should not return NaN' );
5861
}

lib/node_modules/@stdlib/stats/base/dists/signrank/quantile/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
25-
var randint = require( '@stdlib/random/base/discrete-uniform' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var format = require( '@stdlib/string/format' );
2728
var pkg = require( './../package.json' ).name;
2829
var quantile = require( './../lib' );
2930

3031

3132
// MAIN //
3233

3334
bench( pkg, function benchmark( b ) {
35+
var opts;
3436
var n;
3537
var p;
3638
var y;
3739
var i;
3840

41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
p = uniform( 100, 0.0, 1.0, opts );
45+
n = discreteUniform( 100, 1, 200, opts );
46+
3947
b.tic();
4048
for ( i = 0; i < b.iterations; i++ ) {
41-
p = randu();
42-
n = randint( 1, 200 );
43-
y = quantile( p, n );
49+
y = quantile( p[ i%p.length ], n[ i%n.length ] );
4450
if ( isnan( y ) ) {
4551
b.fail( 'should not return NaN' );
4652
}
@@ -53,7 +59,7 @@ bench( pkg, function benchmark( b ) {
5359
b.end();
5460
});
5561

56-
bench( pkg+':factory', function benchmark( b ) {
62+
bench( format( '%s::factory', pkg ), function benchmark( b ) {
5763
var myquantile;
5864
var n;
5965
var p;
@@ -63,10 +69,13 @@ bench( pkg+':factory', function benchmark( b ) {
6369
n = 8;
6470
myquantile = quantile.factory( n );
6571

72+
p = uniform( 100, 0.0, 1.0, {
73+
'dtype': 'float64'
74+
});
75+
6676
b.tic();
6777
for ( i = 0; i < b.iterations; i++ ) {
68-
p = randu();
69-
y = myquantile( p );
78+
y = myquantile( p[ i%p.length ] );
7079
if ( isnan( y ) ) {
7180
b.fail( 'should not return NaN' );
7281
}

0 commit comments

Comments
 (0)