Skip to content

Commit 727d50a

Browse files
bench: refactor random number generation in stats/base/dists/arcsine
PR-URL: #4744 Reviewed-by: Athan Reines <[email protected]>
1 parent 99aa1e0 commit 727d50a

File tree

20 files changed

+82
-80
lines changed

20 files changed

+82
-80
lines changed

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

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

2323
var bench = require( '@stdlib/bench' );
2424
var Float64Array = require( '@stdlib/array/float64' );
25-
var uniform = require( '@stdlib/random/array/uniform' );
26-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniformArray = require( '@stdlib/random/array/uniform' );
26+
var uniform = require( '@stdlib/random/base/uniform' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2828
var pkg = require( './../package.json' ).name;
2929
var cdf = require( './../lib' );
@@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) {
4444
min = new Float64Array( len );
4545
max = new Float64Array( len );
4646
for ( i = 0; i < len; i++ ) {
47-
x[ i ] = ( randu() * 20.0 ) - 10.0;
48-
min[ i ] = ( randu() * 20.0 ) - 20.0;
49-
max[ i ] = min[ i ] + ( randu() * 40.0 );
47+
x[ i ] = uniform( -10.0, 10.0 );
48+
min[ i ] = uniform( -20.0, 0.0 );
49+
max[ i ] = uniform( min[ i ], min[ i ] + 40.0 );
5050
}
5151

5252
b.tic();
@@ -75,7 +75,7 @@ bench( pkg+':factory', function benchmark( b ) {
7575
min = -1.5;
7676
max = 1.5;
7777
mycdf = cdf.factory( min, max );
78-
x = uniform( 100, -2.0, 2.0 );
78+
x = uniformArray( 100, -2.0, 2.0 );
7979

8080
b.tic();
8181
for ( i = 0; i < b.iterations; i++ ) {

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
26-
var randu = require( '@stdlib/random/base/randu' );
26+
var uniform = require( '@stdlib/random/base/uniform' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2828
var tryRequire = require( '@stdlib/utils/try-require' );
2929
var pkg = require( './../package.json' ).name;
@@ -52,9 +52,9 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5252
min = new Float64Array( len );
5353
max = new Float64Array( len );
5454
for ( i = 0; i < len; i++ ) {
55-
x[ i ] = ( randu() * 20.0 ) - 10.0;
56-
min[ i ] = ( randu() * 20.0 ) - 20.0;
57-
max[ i ] = min[ i ] + ( randu() * 40.0 );
55+
x[ i ] = uniform( -10.0, 10.0 );
56+
min[ i ] = uniform( -20.0, 0.0 );
57+
max[ i ] = uniform( min[ i ], min[ i ] + 40.0 );
5858
}
5959

6060
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/ctor/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
2424
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var EPS = require( '@stdlib/constants/float64/eps' );
2728
var pkg = require( './../package.json' ).name;
@@ -38,8 +39,8 @@ bench( pkg+'::instantiation', function benchmark( bm ) {
3839

3940
bm.tic();
4041
for ( i = 0; i < bm.iterations; i++ ) {
41-
a = ( randu() * 10.0 ) + EPS;
42-
b = ( randu() * 10.0 ) + a + EPS;
42+
a = uniform( EPS, 10.0 );
43+
b = uniform( a + EPS, a + 10.0 + EPS );
4344
dist = new Arcsine( a, b );
4445
if ( !( dist instanceof Arcsine ) ) {
4546
bm.fail( 'should return a distribution instance' );
@@ -92,7 +93,7 @@ bench( pkg+'::set:a', function benchmark( bm ) {
9293

9394
bm.tic();
9495
for ( i = 0; i < bm.iterations; i++ ) {
95-
y = ( 100.0*randu() ) + EPS;
96+
y = uniform( EPS, 100.0 + EPS );
9697
dist.a = y;
9798
if ( dist.a !== y ) {
9899
bm.fail( 'should return set value' );
@@ -145,7 +146,7 @@ bench( pkg+'::set:b', function benchmark( bm ) {
145146

146147
bm.tic();
147148
for ( i = 0; i < bm.iterations; i++ ) {
148-
y = ( 100.0*randu() ) + a + EPS;
149+
y = uniform( a + EPS, a + 100.0 + EPS );
149150
dist.b = y;
150151
if ( dist.b !== y ) {
151152
bm.fail( 'should return set value' );
@@ -172,7 +173,7 @@ bench( pkg+':entropy', function benchmark( bm ) {
172173

173174
bm.tic();
174175
for ( i = 0; i < bm.iterations; i++ ) {
175-
dist.a = ( 100.0*randu() ) + EPS;
176+
dist.a = uniform( EPS, 100.0 + EPS );
176177
y = dist.entropy;
177178
if ( isnan( y ) ) {
178179
bm.fail( 'should not return NaN' );
@@ -199,7 +200,7 @@ bench( pkg+':kurtosis', function benchmark( bm ) {
199200

200201
bm.tic();
201202
for ( i = 0; i < bm.iterations; i++ ) {
202-
dist.a = ( 100.0*randu() ) + EPS;
203+
dist.a = uniform( EPS, 100.0 + EPS );
203204
y = dist.kurtosis;
204205
if ( isnan( y ) ) {
205206
bm.fail( 'should not return NaN' );
@@ -226,7 +227,7 @@ bench( pkg+':mean', function benchmark( bm ) {
226227

227228
bm.tic();
228229
for ( i = 0; i < bm.iterations; i++ ) {
229-
dist.a = ( 100.0*randu() ) + EPS;
230+
dist.a = uniform( EPS, 100.0 + EPS );
230231
y = dist.mean;
231232
if ( isnan( y ) ) {
232233
bm.fail( 'should not return NaN' );
@@ -253,7 +254,7 @@ bench( pkg+':median', function benchmark( bm ) {
253254

254255
bm.tic();
255256
for ( i = 0; i < bm.iterations; i++ ) {
256-
dist.a = ( 100.0*randu() ) + EPS;
257+
dist.a = uniform( EPS, 100.0 + EPS );
257258
y = dist.median;
258259
if ( isnan( y ) ) {
259260
bm.fail( 'should not return NaN' );
@@ -280,7 +281,7 @@ bench( pkg+':mode', function benchmark( bm ) {
280281

281282
bm.tic();
282283
for ( i = 0; i < bm.iterations; i++ ) {
283-
dist.a = ( 100.0*randu() ) + 1.0 + EPS;
284+
dist.a = uniform( 1.0 + EPS, 101.0 + EPS );
284285
y = dist.mode;
285286
if ( isnan( y ) ) {
286287
bm.fail( 'should not return NaN' );
@@ -307,7 +308,7 @@ bench( pkg+':skewness', function benchmark( bm ) {
307308

308309
bm.tic();
309310
for ( i = 0; i < bm.iterations; i++ ) {
310-
dist.a = ( 100.0*randu() ) + EPS;
311+
dist.a = uniform( EPS, 100.0 + EPS );
311312
y = dist.skewness;
312313
if ( isnan( y ) ) {
313314
bm.fail( 'should not return NaN' );
@@ -334,7 +335,7 @@ bench( pkg+':stdev', function benchmark( bm ) {
334335

335336
bm.tic();
336337
for ( i = 0; i < bm.iterations; i++ ) {
337-
dist.a = ( 100.0*randu() ) + EPS;
338+
dist.a = uniform( EPS, 100.0 + EPS );
338339
y = dist.stdev;
339340
if ( isnan( y ) ) {
340341
bm.fail( 'should not return NaN' );
@@ -361,7 +362,7 @@ bench( pkg+':variance', function benchmark( bm ) {
361362

362363
bm.tic();
363364
for ( i = 0; i < bm.iterations; i++ ) {
364-
dist.a = ( 100.0*randu() ) + EPS;
365+
dist.a = uniform( EPS, 100.0 + EPS );
365366
y = dist.variance;
366367
if ( isnan( y ) ) {
367368
bm.fail( 'should not return NaN' );

lib/node_modules/@stdlib/stats/base/dists/arcsine/entropy/benchmark/benchmark.js

+3-3
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 pkg = require( './../package.json' ).name;
2828
var entropy = require( './../lib' );
@@ -41,8 +41,8 @@ bench( pkg, function benchmark( b ) {
4141
min = new Float64Array( len );
4242
max = new Float64Array( len );
4343
for ( i = 0; i < len; i++ ) {
44-
min[ i ] = randu() * 20.0;
45-
max[ i ] = ( randu() * 20.0 ) + min[ i ];
44+
min[ i ] = uniform( 0.0, 20.0 );
45+
max[ i ] = uniform( min[ i ], min[ i ] + 20.0 );
4646
}
4747

4848
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/entropy/benchmark/benchmark.native.js

+3-3
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 tryRequire = require( '@stdlib/utils/try-require' );
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 pkg = require( './../package.json' ).name;
3030

@@ -50,8 +50,8 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5050
min = new Float64Array( len );
5151
max = new Float64Array( len );
5252
for ( i = 0; i < len; i++ ) {
53-
min[ i ] = randu() * 20.0;
54-
max[ i ] = ( randu() * 20.0 ) + min[ i ];
53+
min[ i ] = uniform( 0.0, 20.0 );
54+
max[ i ] = uniform( min[ i ], min[ i ] + 20.0 );
5555
}
5656

5757
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/kurtosis/benchmark/benchmark.js

+3-3
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 pkg = require( './../package.json' ).name;
2828
var kurtosis = require( './../lib' );
@@ -41,8 +41,8 @@ bench( pkg, function benchmark( b ) {
4141
min = new Float64Array( len );
4242
max = new Float64Array( len );
4343
for ( i = 0; i < len; i++ ) {
44-
min[ i ] = randu() * 20.0;
45-
max[ i ] = ( randu() * 20.0 ) + min[ i ];
44+
min[ i ] = uniform( 0.0, 20.0 );
45+
max[ i ] = uniform( min[ i ], min[ i ] + 20.0 );
4646
}
4747

4848
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/kurtosis/benchmark/benchmark.native.js

+3-3
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 tryRequire = require( '@stdlib/utils/try-require' );
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 pkg = require( './../package.json' ).name;
3030

@@ -50,8 +50,8 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5050
min = new Float64Array( len );
5151
max = new Float64Array( len );
5252
for ( i = 0; i < len; i++ ) {
53-
min[ i ] = randu() * 20.0;
54-
max[ i ] = ( randu() * 20.0 ) + min[ i ];
53+
min[ i ] = uniform( 0.0, 20.0 );
54+
max[ i ] = uniform( min[ i ], min[ i ] + 20.0 );
5555
}
5656

5757
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/logcdf/benchmark/benchmark.js

+5-5
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/base/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var logcdf = require( './../lib' );
@@ -38,9 +38,9 @@ bench( pkg, function benchmark( b ) {
3838

3939
b.tic();
4040
for ( i = 0; i < b.iterations; i++ ) {
41-
x = ( randu() * 20.0 ) - 10.0;
42-
min = ( randu() * 20.0 ) - 20.0;
43-
max = min + ( randu() * 40.0 );
41+
x = uniform( -10.0, 10.0 );
42+
min = uniform( -20.0, 0.0 );
43+
max = uniform( min, min + 40.0 );
4444
y = logcdf( x, min, max );
4545
if ( isnan( y ) ) {
4646
b.fail( 'should not return NaN' );
@@ -68,7 +68,7 @@ bench( pkg+':factory', function benchmark( b ) {
6868

6969
b.tic();
7070
for ( i = 0; i < b.iterations; i++ ) {
71-
x = ( randu()*2.0 ) - 2.0;
71+
x = uniform( -2.0, 0.0 );
7272
y = mylogcdf( x );
7373
if ( isnan( y ) ) {
7474
b.fail( 'should not return NaN' );

lib/node_modules/@stdlib/stats/base/dists/arcsine/logpdf/benchmark/benchmark.js

+5-5
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/base/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var logpdf = require( './../lib' );
@@ -38,9 +38,9 @@ bench( pkg, function benchmark( b ) {
3838

3939
b.tic();
4040
for ( i = 0; i < b.iterations; i++ ) {
41-
x = ( randu() * 20.0 ) - 10.0;
42-
min = ( randu() * 20.0 ) - 20.0;
43-
max = min + ( randu() * 40.0 );
41+
x = uniform( -10.0, 10.0 );
42+
min = uniform( -20.0, 0.0 );
43+
max = uniform( min, min + 40.0 );
4444
y = logpdf( x, min, max );
4545
if ( isnan( y ) ) {
4646
b.fail( 'should not return NaN' );
@@ -68,7 +68,7 @@ bench( pkg+':factory', function benchmark( b ) {
6868

6969
b.tic();
7070
for ( i = 0; i < b.iterations; i++ ) {
71-
x = ( randu()*2.0 ) - 2.0;
71+
x = uniform( -2.0, 0.0 );
7272
y = mylogpdf( x );
7373
if ( isnan( y ) ) {
7474
b.fail( 'should not return NaN' );

lib/node_modules/@stdlib/stats/base/dists/arcsine/logpdf/benchmark/benchmark.native.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
26-
var randu = require( '@stdlib/random/base/randu' );
26+
var uniform = require( '@stdlib/random/base/uniform' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2828
var tryRequire = require( '@stdlib/utils/try-require' );
2929
var pkg = require( './../package.json' ).name;
@@ -52,9 +52,9 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5252
min = new Float64Array( len );
5353
max = new Float64Array( len );
5454
for ( i = 0; i < len; i++ ) {
55-
x[ i ] = ( randu() * 20.0 ) - 10.0;
56-
min[ i ] = ( randu() * 20.0 ) - 20.0;
57-
max[ i ] = min[ i ] + ( randu() * 40.0 );
55+
x[ i ] = uniform( -10.0, 10.0 );
56+
min[ i ] = uniform( -20.0, 0.0 );
57+
max[ i ] = uniform( min[ i ], min[ i ] + 40.0 );
5858
}
5959

6060
b.tic();

lib/node_modules/@stdlib/stats/base/dists/arcsine/mean/benchmark/benchmark.js

+3-3
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/base/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var mean = require( './../lib' );
@@ -37,8 +37,8 @@ bench( pkg, function benchmark( b ) {
3737

3838
b.tic();
3939
for ( i = 0; i < b.iterations; i++ ) {
40-
min = ( randu()*10.0 );
41-
max = ( randu()*10.0 ) + min;
40+
min = uniform( 0.0, 10.0 );
41+
max = uniform( min, min + 10.0 );
4242
y = mean( min, max );
4343
if ( isnan( y ) ) {
4444
b.fail( 'should not return NaN' );

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

+3-3
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/base/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var median = require( './../lib' );
@@ -37,8 +37,8 @@ bench( pkg, function benchmark( b ) {
3737

3838
b.tic();
3939
for ( i = 0; i < b.iterations; i++ ) {
40-
min = ( randu()*10.0 );
41-
max = ( randu()*10.0 ) + min;
40+
min = uniform( 0.0, 10.0 );
41+
max = uniform( min, min + 10.0 );
4242
y = median( min, max );
4343
if ( isnan( y ) ) {
4444
b.fail( 'should not return NaN' );

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

+3-3
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/base/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var mode = require( './../lib' );
@@ -37,8 +37,8 @@ bench( pkg, function benchmark( b ) {
3737

3838
b.tic();
3939
for ( i = 0; i < b.iterations; i++ ) {
40-
min = ( randu()*10.0 );
41-
max = ( randu()*10.0 ) + min;
40+
min = uniform( 0.0, 10.0 );
41+
max = uniform( min, min + 10.0 );
4242
y = mode( min, max );
4343
if ( isnan( y ) ) {
4444
b.fail( 'should not return NaN' );

0 commit comments

Comments
 (0)