Skip to content

Commit 99d0a3c

Browse files
authored
bench: update random value generation
PR-URL: #9782 Reviewed-by: Philipp Burckhardt <pburckhardt@outlook.com> Signed-off-by: Harsh <149176984+hrshya@users.noreply.github.com>
1 parent 610a4d0 commit 99d0a3c

File tree

16 files changed

+179
-221
lines changed

16 files changed

+179
-221
lines changed

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/cdf/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
25-
var uniform = require( '@stdlib/random/base/uniform' );
26-
var Float64Array = require( '@stdlib/array/float64' );
24+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var pkg = require( './../package.json' ).name;
@@ -33,26 +32,23 @@ var cdf = require( './../lib' );
3332
// MAIN //
3433

3534
bench( pkg, function benchmark( b ) {
36-
var len;
35+
var opts;
3736
var r;
3837
var p;
3938
var x;
4039
var y;
4140
var i;
4241

43-
len = 100;
44-
x = new Float64Array( len );
45-
r = new Float64Array( len );
46-
p = new Float64Array( len );
47-
for ( i = 0; i < len; i++ ) {
48-
x[ i ] = uniform( 0.0, 100.0 );
49-
r[ i ] = discreteUniform( 1, 100 );
50-
p[ i ] = uniform( EPS, 1.0 );
51-
}
42+
opts = {
43+
'dtype': 'float64'
44+
};
45+
x = uniform( 100, 0.0, 100.0, opts );
46+
r = discreteUniform( 100, 1, 100, opts );
47+
p = uniform( 100, EPS, 1.0, opts );
5248

5349
b.tic();
5450
for ( i = 0; i < b.iterations; i++ ) {
55-
y = cdf( x[ i % len ], r[ i % len ], p[ i % len ] );
51+
y = cdf( x[ i % x.length ], r[ i % r.length ], p[ i % p.length ] );
5652
if ( isnan( y ) ) {
5753
b.fail( 'should not return NaN' );
5854
}
@@ -67,7 +63,7 @@ bench( pkg, function benchmark( b ) {
6763

6864
bench( pkg+':factory', function benchmark( b ) {
6965
var mycdf;
70-
var len;
66+
var opts;
7167
var r;
7268
var p;
7369
var x;
@@ -77,15 +73,15 @@ bench( pkg+':factory', function benchmark( b ) {
7773
r = 80;
7874
p = 0.4;
7975
mycdf = cdf.factory( r, p );
80-
len = 100;
81-
x = new Float64Array( len );
82-
for ( i = 0; i < len; i++ ) {
83-
x[ i ] = uniform( 0.0, 100.0 );
84-
}
76+
77+
opts = {
78+
'dtype': 'float64'
79+
};
80+
x = uniform( 100, 0.0, 100.0, opts );
8581

8682
b.tic();
8783
for ( i = 0; i < b.iterations; i++ ) {
88-
y = mycdf( x[ i % len ] );
84+
y = mycdf( x[ i % x.length ] );
8985
if ( isnan( y ) ) {
9086
b.fail( 'should not return NaN' );
9187
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
24+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var pkg = require( './../package.json' ).name;
@@ -33,23 +32,21 @@ var kurtosis = require( './../lib' );
3332
// MAIN //
3433

3534
bench( pkg, function benchmark( b ) {
36-
var len;
35+
var opts;
3736
var r;
3837
var p;
3938
var y;
4039
var i;
4140

42-
len = 100;
43-
r = new Float64Array( len );
44-
p = new Float64Array( len );
45-
for ( i = 0; i < len; i++ ) {
46-
r[ i ] = discreteUniform( 1, 100 );
47-
p[ i ] = uniform( EPS, 1.0 );
48-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
r = discreteUniform( 100, 1, 100, opts );
45+
p = uniform( 100, EPS, 1.0, opts );
4946

5047
b.tic();
5148
for ( i = 0; i < b.iterations; i++ ) {
52-
y = kurtosis( r[ i % len ], p[ i % len ] );
49+
y = kurtosis( r[ i % r.length ], p[ i % p.length ] );
5350
if ( isnan( y ) ) {
5451
b.fail( 'should not return NaN' );
5552
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/kurtosis/benchmark/benchmark.native.js

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

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
27-
var uniform = require( '@stdlib/random/base/uniform' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
26+
var uniform = require( '@stdlib/random/array/uniform' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
3029
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -42,22 +41,21 @@ var opts = {
4241
// MAIN //
4342

4443
bench( pkg+'::native', opts, function benchmark( b ) {
45-
var len;
44+
var opts;
4645
var r;
4746
var p;
4847
var y;
4948
var i;
5049

51-
len = 100;
52-
r = new Float64Array( len );
53-
p = new Float64Array( len );
54-
for ( i = 0; i < len; i++ ) {
55-
r[ i ] = discreteUniform( 1, 100 );
56-
p[ i ] = uniform( EPS, 1.0 );
57-
}
50+
opts = {
51+
'dtype': 'float64'
52+
};
53+
r = discreteUniform( 100, 1, 100, opts );
54+
p = uniform( 100, EPS, 1.0, opts );
55+
5856
b.tic();
5957
for ( i = 0; i < b.iterations; i++ ) {
60-
y = kurtosis( r[ i % len ], p[ i % len ] );
58+
y = kurtosis( r[ i % r.length ], p[ i % p.length ] );
6159
if ( isnan( y ) ) {
6260
b.fail( 'should not return NaN' );
6361
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/logpmf/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/base/uniform' );
25-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
26-
var Float64Array = require( '@stdlib/array/float64' );
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' );
2827
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var pkg = require( './../package.json' ).name;
@@ -33,26 +32,23 @@ var logpmf = require( './../lib' );
3332
// MAIN //
3433

3534
bench( pkg, function benchmark( b ) {
36-
var len;
35+
var opts;
3736
var r;
3837
var p;
3938
var x;
4039
var y;
4140
var i;
4241

43-
len = 100;
44-
x = new Float64Array( len );
45-
r = new Float64Array( len );
46-
p = new Float64Array( len );
47-
for ( i = 0; i < len; i++ ) {
48-
x[ i ] = discreteUniform( 1, 100 );
49-
r[ i ] = discreteUniform( 1, 100 );
50-
p[ i ] = uniform( EPS, 1.0 );
51-
}
42+
opts = {
43+
'dtype': 'float64'
44+
};
45+
x = discreteUniform( 100, 1, 100, opts );
46+
r = discreteUniform( 100, 1, 100, opts );
47+
p = uniform( 100, EPS, 1.0, opts );
5248

5349
b.tic();
5450
for ( i = 0; i < b.iterations; i++ ) {
55-
y = logpmf( x[ i % len ], r[ i % len ], p[ i % len ] );
51+
y = logpmf( x[ i % x.length ], r[ i % r.length ], p[ i % p.length ] );
5652
if ( isnan( y ) ) {
5753
b.fail( 'should not return NaN' );
5854
}
@@ -67,7 +63,7 @@ bench( pkg, function benchmark( b ) {
6763

6864
bench( pkg+':factory', function benchmark( b ) {
6965
var mylogpmf;
70-
var len;
66+
var opts;
7167
var r;
7268
var p;
7369
var x;
@@ -77,15 +73,15 @@ bench( pkg+':factory', function benchmark( b ) {
7773
r = 80;
7874
p = 0.4;
7975
mylogpmf = logpmf.factory( r, p );
80-
len = 100;
81-
x = new Float64Array( len );
82-
for ( i = 0; i < len; i++ ) {
83-
x[ i ] = uniform( 0.0, 80.0 );
84-
}
76+
77+
opts = {
78+
'dtype': 'float64'
79+
};
80+
x = uniform( 100, 0.0, 80.0, opts );
8581

8682
b.tic();
8783
for ( i = 0; i < b.iterations; i++ ) {
88-
y = mylogpmf( x[ i % len ] );
84+
y = mylogpmf( x[ i % x.length ] );
8985
if ( isnan( y ) ) {
9086
b.fail( 'should not return NaN' );
9187
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var Float64Array = require( '@stdlib/array/float64' );
25-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
24+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var pkg = require( './../package.json' ).name;
@@ -33,23 +32,21 @@ var mean = require( './../lib' );
3332
// MAIN //
3433

3534
bench( pkg, function benchmark( b ) {
36-
var len;
35+
var opts;
3736
var r;
3837
var p;
3938
var y;
4039
var i;
4140

42-
len = 100;
43-
r = new Float64Array( len );
44-
p = new Float64Array( len );
45-
for ( i = 0; i < len; i++ ) {
46-
r[ i ] = discreteUniform( 1, 100 );
47-
p[ i ] = uniform( EPS, 1.0 );
48-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
r = discreteUniform( 100, 1, 100, opts );
45+
p = uniform( 100, EPS, 1.0, opts );
4946

5047
b.tic();
5148
for ( i = 0; i < b.iterations; i++ ) {
52-
y = mean( r[ i % len ], p[ i % len ] );
49+
y = mean( r[ i % r.length ], p[ i % p.length ] );
5350
if ( isnan( y ) ) {
5451
b.fail( 'should not return NaN' );
5552
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mean/benchmark/benchmark.native.js

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

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
27-
var uniform = require( '@stdlib/random/base/uniform' );
25+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
26+
var uniform = require( '@stdlib/random/array/uniform' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
3029
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -42,22 +41,21 @@ var opts = {
4241
// MAIN //
4342

4443
bench( pkg+'::native', opts, function benchmark( b ) {
45-
var len;
44+
var opts;
4645
var r;
4746
var p;
4847
var y;
4948
var i;
5049

51-
len = 100;
52-
r = new Float64Array( len );
53-
p = new Float64Array( len );
54-
for ( i = 0; i < len; i++ ) {
55-
r[ i ] = discreteUniform( 1, 100 );
56-
p[ i ] = uniform( EPS, 1.0 );
57-
}
50+
opts = {
51+
'dtype': 'float64'
52+
};
53+
r = discreteUniform( 100, 1, 100, opts );
54+
p = uniform( 100, EPS, 1.0, opts );
55+
5856
b.tic();
5957
for ( i = 0; i < b.iterations; i++ ) {
60-
y = mean( r[ i % len ], p[ i % len ] );
58+
y = mean( r[ i % r.length ], p[ i % p.length ] );
6159
if ( isnan( y ) ) {
6260
b.fail( 'should not return NaN' );
6361
}

lib/node_modules/@stdlib/stats/base/dists/negative-binomial/mode/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/base/uniform' );
25-
var Float64Array = require( '@stdlib/array/float64' );
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' );
2827
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var pkg = require( './../package.json' ).name;
@@ -33,23 +32,21 @@ var mode = require( './../lib' );
3332
// MAIN //
3433

3534
bench( pkg, function benchmark( b ) {
36-
var len;
35+
var opts;
3736
var r;
3837
var p;
3938
var y;
4039
var i;
4140

42-
len = 100;
43-
r = new Float64Array( len );
44-
p = new Float64Array( len );
45-
for ( i = 0; i < len; i++ ) {
46-
r[ i ] = discreteUniform( 1, 100 );
47-
p[ i ] = uniform( EPS, 1.0 );
48-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
r = discreteUniform( 100, 1, 100, opts );
45+
p = uniform( 100, EPS, 1.0, opts );
4946

5047
b.tic();
5148
for ( i = 0; i < b.iterations; i++ ) {
52-
y = mode( r[ i % len ], p[ i % len ] );
49+
y = mode( r[ i % r.length ], p[ i % p.length ] );
5350
if ( isnan( y ) ) {
5451
b.fail( 'should not return NaN' );
5552
}

0 commit comments

Comments
 (0)