Skip to content

Commit d995add

Browse files
bench: update random value generation for stats/base/dists/poisson
PR-URL: #9998 Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent 186140c commit d995add

7 files changed

Lines changed: 82 additions & 89 deletions

File tree

lib/node_modules/@stdlib/stats/base/dists/poisson/median/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var Float64Array = require( '@stdlib/array/float64' );
25-
var uniform = require( '@stdlib/random/base/uniform' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2625
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2726
var EPS = require( '@stdlib/constants/float64/eps' );
2827
var pkg = require( './../package.json' ).name;
@@ -33,19 +32,18 @@ var median = require( './../lib' );
3332

3433
bench( pkg, function benchmark( b ) {
3534
var lambda;
36-
var len;
35+
var opts;
3736
var y;
3837
var i;
3938

40-
len = 100;
41-
lambda = new Float64Array( len );
42-
for ( i = 0; i < len; i++ ) {
43-
lambda[ i ] = uniform( EPS, 20.0 );
44-
}
39+
opts = {
40+
'dtype': 'float64'
41+
};
42+
lambda = uniform( 100, EPS, 20.0, opts );
4543

4644
b.tic();
4745
for ( i = 0; i < b.iterations; i++ ) {
48-
y = median( lambda[ i % len ] );
46+
y = median( lambda[ i % lambda.length ] );
4947
if ( isnan( y ) ) {
5048
b.fail( 'should not return NaN' );
5149
}

lib/node_modules/@stdlib/stats/base/dists/poisson/median/benchmark/benchmark.native.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
29+
var format = require( '@stdlib/string/format' );
3030
var pkg = require( './../package.json' ).name;
3131

3232

@@ -40,20 +40,20 @@ var opts = {
4040

4141
// MAIN //
4242

43-
bench( pkg+'::native', opts, function benchmark( b ) {
43+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4444
var lambda;
45-
var len;
45+
var opts;
4646
var y;
4747
var i;
4848

49-
len = 100;
50-
lambda = new Float64Array( len );
51-
for ( i = 0; i < len; i++ ) {
52-
lambda[ i ] = uniform( EPS, 20.0 );
53-
}
49+
opts = {
50+
'dtype': 'float64'
51+
};
52+
lambda = uniform( 100, EPS, 20.0, opts );
53+
5454
b.tic();
5555
for ( i = 0; i < b.iterations; i++ ) {
56-
y = median( lambda[ i % len ] );
56+
y = median( lambda[ i % lambda.length ] );
5757
if ( isnan( y ) ) {
5858
b.fail( 'should not return NaN' );
5959
}

lib/node_modules/@stdlib/stats/base/dists/poisson/mgf/benchmark/benchmark.js

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var Float64Array = require( '@stdlib/array/float64' );
25-
var uniform = require( '@stdlib/random/base/uniform' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2625
var isnan = require( '@stdlib/math/base/assert/is-nan' );
26+
var format = require( '@stdlib/string/format' );
2727
var pkg = require( './../package.json' ).name;
2828
var mgf = require( './../lib' );
2929

@@ -32,21 +32,20 @@ var mgf = require( './../lib' );
3232

3333
bench( pkg, function benchmark( b ) {
3434
var lambda;
35-
var len;
35+
var opts;
3636
var t;
3737
var y;
3838
var i;
3939

40-
len = 100;
41-
t = new Float64Array( len );
42-
lambda = new Float64Array( len );
43-
for ( i = 0; i < len; i++ ) {
44-
t[ i ] = uniform( 0.0, 100.0 );
45-
lambda[ i ] = uniform( 0.0, 100.0 );
46-
}
40+
opts = {
41+
'dtype': 'float64'
42+
};
43+
t = uniform( 100, 0.0, 100.0, opts );
44+
lambda = uniform( 100, 0.0, 100.0, opts );
45+
4746
b.tic();
4847
for ( i = 0; i < b.iterations; i++ ) {
49-
y = mgf( t[ i % len ], lambda[ i % len ] );
48+
y = mgf( t[ i % t.length ], lambda[ i % lambda.length ] );
5049
if ( isnan( y ) ) {
5150
b.fail( 'should not return NaN' );
5251
}
@@ -59,24 +58,24 @@ bench( pkg, function benchmark( b ) {
5958
b.end();
6059
});
6160

62-
bench( pkg+':factory', function benchmark( b ) {
61+
bench( format( '%s::factory', pkg ), function benchmark( b ) {
6362
var lambda;
6463
var mymgf;
65-
var len;
64+
var opts;
6665
var t;
6766
var y;
6867
var i;
6968

69+
opts = {
70+
'dtype': 'float64'
71+
};
7072
lambda = 10.0;
7173
mymgf = mgf.factory( lambda );
72-
len = 100;
73-
t = new Float64Array( len );
74-
for ( i = 0; i < len; i++ ) {
75-
t[ i ] = uniform( 0.0, 5.0 );
76-
}
74+
t = uniform( 100, 0.0, 5.0, opts );
75+
7776
b.tic();
7877
for ( i = 0; i < b.iterations; i++ ) {
79-
y = mymgf( t[ i % len ] );
78+
y = mymgf( t[ i % t.length ] );
8079
if ( isnan( y ) ) {
8180
b.fail( 'should not return NaN' );
8281
}

lib/node_modules/@stdlib/stats/base/dists/poisson/mgf/benchmark/benchmark.native.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
28+
var format = require( '@stdlib/string/format' );
2929
var pkg = require( './../package.json' ).name;
3030

3131

@@ -39,24 +39,22 @@ var opts = {
3939

4040
// MAIN //
4141

42-
bench( pkg+'::native', opts, function benchmark( b ) {
42+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4343
var lambda;
44-
var len;
44+
var opts;
4545
var t;
4646
var y;
4747
var i;
4848

49-
len = 100;
50-
t = new Float64Array( len );
51-
lambda = new Float64Array( len );
52-
for ( i = 0; i < len; i++ ) {
53-
t[ i ] = uniform( -2.0, 2.0 );
54-
lambda[ i ] = uniform( 0.1, 10.0 );
55-
}
49+
opts = {
50+
'dtype': 'float64'
51+
};
52+
t = uniform( 100, -2.0, 2.0, opts );
53+
lambda = uniform( 100, 0.1, 10.0, opts );
5654

5755
b.tic();
5856
for ( i = 0; i < b.iterations; i++ ) {
59-
y = mgf( t[ i % len ], lambda[ i % len ] );
57+
y = mgf( t[ i % t.length ], lambda[ i % lambda.length ] );
6058
if ( isnan( y ) ) {
6159
b.fail( 'should not return NaN' );
6260
}

lib/node_modules/@stdlib/stats/base/dists/poisson/mode/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/base/uniform' );
25-
var Float64Array = require( '@stdlib/array/float64' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
2625
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2726
var EPS = require( '@stdlib/constants/float64/eps' );
2827
var pkg = require( './../package.json' ).name;
@@ -33,18 +32,18 @@ var mode = require( './../lib' );
3332

3433
bench( pkg, function benchmark( b ) {
3534
var lambda;
36-
var len;
35+
var opts;
3736
var y;
3837
var i;
3938

40-
len = 100;
41-
lambda = new Float64Array( len );
42-
for ( i = 0; i < len; i++ ) {
43-
lambda[ i ] = uniform( EPS, 20.0 );
44-
}
39+
opts = {
40+
'dtype': 'float64'
41+
};
42+
lambda = uniform( 100, EPS, 20.0, opts );
43+
4544
b.tic();
4645
for ( i = 0; i < b.iterations; i++ ) {
47-
y = mode( lambda[ i % len ] );
46+
y = mode( lambda[ i % lambda.length ] );
4847
if ( isnan( y ) ) {
4948
b.fail( 'should not return NaN' );
5049
}

lib/node_modules/@stdlib/stats/base/dists/poisson/mode/benchmark/benchmark.native.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
29+
var format = require( '@stdlib/string/format' );
3030
var pkg = require( './../package.json' ).name;
3131

3232

@@ -40,20 +40,20 @@ var opts = {
4040

4141
// MAIN //
4242

43-
bench( pkg+'::native', opts, function benchmark( b ) {
43+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4444
var lambda;
45-
var len;
45+
var opts;
4646
var y;
4747
var i;
4848

49-
len = 100;
50-
lambda = new Float64Array( len );
51-
for ( i = 0; i < len; i++ ) {
52-
lambda[ i ] = uniform( EPS, 20.0 );
53-
}
49+
opts = {
50+
'dtype': 'float64'
51+
};
52+
lambda = uniform( 100, EPS, 20.0, opts );
53+
5454
b.tic();
5555
for ( i = 0; i < b.iterations; i++ ) {
56-
y = mode( lambda[ i % len ] );
56+
y = mode( lambda[ i % lambda.length ] );
5757
if ( isnan( y ) ) {
5858
b.fail( 'should not return NaN' );
5959
}

lib/node_modules/@stdlib/stats/base/dists/poisson/pmf/benchmark/benchmark.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var Float64Array = require( '@stdlib/array/float64' );
25-
var uniform = require( '@stdlib/random/base/uniform' );
26-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
24+
var uniform = require( '@stdlib/random/array/uniform' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var format = require( '@stdlib/string/format' );
2828
var pkg = require( './../package.json' ).name;
2929
var pmf = require( './../lib' );
3030

@@ -33,21 +33,20 @@ var pmf = require( './../lib' );
3333

3434
bench( pkg, function benchmark( b ) {
3535
var lambda;
36-
var len;
36+
var opts;
3737
var x;
3838
var y;
3939
var i;
4040

41-
len = 100;
42-
x = new Float64Array( len );
43-
lambda = new Float64Array( len );
44-
for ( i = 0; i < len; i++ ) {
45-
x[ i ] = discreteUniform( 1, 100 );
46-
lambda[ i ] = uniform( 0.0, 100.0 );
47-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
x = discreteUniform( 100, 1, 100, opts );
45+
lambda = uniform( 100, 0.0, 100.0, opts );
46+
4847
b.tic();
4948
for ( i = 0; i < b.iterations; i++ ) {
50-
y = pmf( x[ i % len ], lambda[ i % len ] );
49+
y = pmf( x[ i % x.length ], lambda[ i % lambda.length ] );
5150
if ( isnan( y ) ) {
5251
b.fail( 'should not return NaN' );
5352
}
@@ -60,24 +59,24 @@ bench( pkg, function benchmark( b ) {
6059
b.end();
6160
});
6261

63-
bench( pkg+':factory', function benchmark( b ) {
62+
bench( format( '%s::factory', pkg ), function benchmark( b ) {
6463
var lambda;
6564
var mypmf;
66-
var len;
65+
var opts;
6766
var x;
6867
var y;
6968
var i;
7069

70+
opts = {
71+
'dtype': 'float64'
72+
};
7173
lambda = 10.0;
7274
mypmf = pmf.factory( lambda );
73-
len = 100;
74-
x = new Float64Array( len );
75-
for ( i = 0; i < len; i++ ) {
76-
x[ i ] = discreteUniform( 1, 50 );
77-
}
75+
x = discreteUniform( 100, 1, 50, opts );
76+
7877
b.tic();
7978
for ( i = 0; i < b.iterations; i++ ) {
80-
y = mypmf( x[ i % len ] );
79+
y = mypmf( x[ i % x.length ] );
8180
if ( isnan( y ) ) {
8281
b.fail( 'should not return NaN' );
8382
}

0 commit comments

Comments
 (0)