Skip to content

Commit 1ebcfd6

Browse files
authored
bench: refactor random number generation in stats/base/dists/weibull
PR-URL: #5342 Closes: #4992 Reviewed-by: Philipp Burckhardt <[email protected]>
1 parent 79470f2 commit 1ebcfd6

File tree

21 files changed

+315
-120
lines changed

21 files changed

+315
-120
lines changed

Diff for: lib/node_modules/@stdlib/stats/base/dists/weibull/cdf/benchmark/benchmark.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
var bench = require( '@stdlib/bench' );
2424
var Float64Array = require( '@stdlib/array/float64' );
25-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var EPS = require( '@stdlib/constants/float64/eps' );
2828
var pkg = require( './../package.json' ).name;
@@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) {
4444
lambda = new Float64Array( len );
4545
k = new Float64Array( len );
4646
for ( i = 0; i < len; i++ ) {
47-
x[ i ] = ( randu()*100.0 ) + EPS;
48-
lambda[ i ] = ( randu()*100.0 ) + EPS;
49-
k[ i ] = ( randu()*100.0 ) + EPS;
47+
x[ i ] = uniform( EPS, 100.0 );
48+
lambda[ i ] = uniform( EPS, 100.0 );
49+
k[ i ] = uniform( EPS, 100.0 );
5050
}
5151

5252
b.tic();
@@ -67,6 +67,7 @@ bench( pkg, function benchmark( b ) {
6767
bench( pkg+':factory', function benchmark( b ) {
6868
var lambda;
6969
var mycdf;
70+
var len;
7071
var k;
7172
var x;
7273
var y;
@@ -75,11 +76,15 @@ bench( pkg+':factory', function benchmark( b ) {
7576
lambda = 3.14;
7677
k = 2.25;
7778
mycdf = cdf.factory( k, lambda );
79+
len = 100;
80+
x = new Float64Array( len );
81+
for ( i = 0; i < len; i++ ) {
82+
x[ i ] = uniform( EPS, 100.0 );
83+
}
7884

7985
b.tic();
8086
for ( i = 0; i < b.iterations; i++ ) {
81-
x = ( randu()*100.0 ) + EPS;
82-
y = mycdf( x );
87+
y = mycdf( x[ i % len ] );
8388
if ( isnan( y ) ) {
8489
b.fail( 'should not return NaN' );
8590
}

Diff for: lib/node_modules/@stdlib/stats/base/dists/weibull/cdf/benchmark/benchmark.native.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
2626
var EPS = require( '@stdlib/constants/float64/eps' );
27-
var randu = require( '@stdlib/random/base/randu' );
27+
var uniform = require( '@stdlib/random/base/uniform' );
2828
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
@@ -53,9 +53,9 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5353
lambda = new Float64Array( len );
5454
k = new Float64Array( len );
5555
for ( i = 0; i < len; i++ ) {
56-
x[ i ] = ( randu()*100.0 ) + EPS;
57-
lambda[ i ] = ( randu()*100.0 ) + EPS;
58-
k[ i ] = ( randu()*100.0 ) + EPS;
56+
x[ i ] = uniform( EPS, 100.0 );
57+
lambda[ i ] = uniform( EPS, 100.0 );
58+
k[ i ] = uniform( EPS, 100.0 );
5959
}
6060

6161
b.tic();

0 commit comments

Comments
 (0)