Skip to content

Commit 111fc36

Browse files
bench: update random value generation for stats/base/dists/arcsine
PR-URL: #9953 Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent ec5723e commit 111fc36

File tree

10 files changed

+111
-139
lines changed

10 files changed

+111
-139
lines changed

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

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,36 +21,33 @@
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 logpdf = require( './../lib' );
2929

3030

3131
// MAIN //
3232

3333
bench( pkg, function benchmark( b ) {
34+
var opts;
3435
var min;
3536
var max;
36-
var len;
3737
var x;
3838
var y;
3939
var i;
4040

41-
len = 100;
42-
x = new Float64Array( len );
43-
min = new Float64Array( len );
44-
max = new Float64Array( len );
45-
for ( i = 0; i < len; i++ ) {
46-
x[ i ] = uniform( -10.0, 10.0 );
47-
min[ i ] = uniform( -20.0, 0.0 );
48-
max[ i ] = uniform( min[ i ], min[ i ] + 40.0 );
49-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
x = uniform( 100, -10.0, 10.0, opts );
45+
min = uniform( 100, -20.0, 10.0, opts );
46+
max = uniform( 100, 20.0, 40.0, opts );
5047

5148
b.tic();
5249
for ( i = 0; i < b.iterations; i++ ) {
53-
y = logpdf( x[ i % len ], min[ i % len ], max[ i % len ] );
50+
y = logpdf( x[ i % x.length ], min[ i % min.length ], max[ i % max.length ] );
5451
if ( isnan( y ) ) {
5552
b.fail( 'should not return NaN' );
5653
}
@@ -63,27 +60,27 @@ bench( pkg, function benchmark( b ) {
6360
b.end();
6461
});
6562

66-
bench( pkg+':factory', function benchmark( b ) {
63+
bench( format( '%s:factory', pkg ), function benchmark( b ) {
6764
var mylogpdf;
65+
var opts;
6866
var min;
6967
var max;
70-
var len;
7168
var x;
7269
var y;
7370
var i;
7471

7572
min = -1.5;
7673
max = 1.5;
7774
mylogpdf = logpdf.factory( min, max );
78-
len = 100;
79-
x = new Float64Array( len );
80-
for ( i = 0; i < len; i++ ) {
81-
x[ i ] = uniform( -2.0, 0.0 );
82-
}
75+
76+
opts = {
77+
'dtype': 'float64'
78+
};
79+
x = uniform( 100, -2.0, 0.0, opts );
8380

8481
b.tic();
8582
for ( i = 0; i < b.iterations; i++ ) {
86-
y = mylogpdf( x[ i % len ] );
83+
y = mylogpdf( x[ i % x.length ] );
8784
if ( isnan( y ) ) {
8885
b.fail( 'should not return NaN' );
8986
}

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

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
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' );
26+
var format = require( '@stdlib/string/format' );
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;
@@ -39,27 +39,24 @@ var opts = {
3939

4040
// MAIN //
4141

42-
bench( pkg+'::native', opts, function benchmark( b ) {
43-
var len;
42+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
43+
var opts;
4444
var min;
4545
var max;
4646
var x;
4747
var y;
4848
var i;
4949

50-
len = 100;
51-
x = new Float64Array( len );
52-
min = new Float64Array( len );
53-
max = new Float64Array( len );
54-
for ( i = 0; i < len; i++ ) {
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 );
58-
}
50+
opts = {
51+
'dtype': 'float64'
52+
};
53+
x = uniform( 100, -10.0, 10.0, opts );
54+
min = uniform( 100, -20.0, 10.0, opts );
55+
max = uniform( 100, 20.0, 40.0, opts );
5956

6057
b.tic();
6158
for ( i = 0; i < b.iterations; i++ ) {
62-
y = logpdf( x[ i % len ], min[ i % len ], max[ i % len ] );
59+
y = logpdf( x[ i % x.length ], min[ i % min.length ], max[ i % max.length ] );
6360
if ( isnan( y ) ) {
6461
b.fail( 'should not return NaN' );
6562
}

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

Lines changed: 8 additions & 11 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 pkg = require( './../package.json' ).name;
2827
var mean = require( './../lib' );
@@ -31,23 +30,21 @@ var mean = require( './../lib' );
3130
// MAIN //
3231

3332
bench( pkg, function benchmark( b ) {
33+
var opts;
3434
var min;
3535
var max;
36-
var len;
3736
var y;
3837
var i;
3938

40-
len = 100;
41-
min = new Float64Array( len );
42-
max = new Float64Array( len );
43-
for ( i = 0; i < len; i++ ) {
44-
min[ i ] = uniform( 0.0, 10.0 );
45-
max[ i ] = uniform( min[ i ], min[ i ] + 10.0 );
46-
}
39+
opts = {
40+
'dtype': 'float64'
41+
};
42+
min = uniform( 100, 0.0, 10.0, opts );
43+
max = uniform( 100, 10.0, 20.0, opts );
4744

4845
b.tic();
4946
for ( i = 0; i < b.iterations; i++ ) {
50-
y = mean( min[ i % len ], max[ i % len ] );
47+
y = mean( min[ i % min.length ], max[ i % max.length ] );
5148
if ( isnan( y ) ) {
5249
b.fail( 'should not return NaN' );
5350
}

lib/node_modules/@stdlib/stats/base/dists/arcsine/mean/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 ) {
43-
var len;
42+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
43+
var opts;
4444
var min;
4545
var max;
4646
var y;
4747
var i;
4848

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

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

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

Lines changed: 8 additions & 11 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 pkg = require( './../package.json' ).name;
2827
var median = require( './../lib' );
@@ -31,23 +30,21 @@ var median = require( './../lib' );
3130
// MAIN //
3231

3332
bench( pkg, function benchmark( b ) {
33+
var opts;
3434
var min;
3535
var max;
36-
var len;
3736
var y;
3837
var i;
3938

40-
len = 100;
41-
min = new Float64Array( len );
42-
max = new Float64Array( len );
43-
for ( i = 0; i < len; i++ ) {
44-
min[ i ] = uniform( 0.0, 10.0 );
45-
max[ i ] = uniform( min[ i ], min[ i ] + 10.0 );
46-
}
39+
opts = {
40+
'dtype': 'float64'
41+
};
42+
min = uniform( 100, 0.0, 10.0, opts );
43+
max = uniform( 100, 10.0, 20.0, opts );
4744

4845
b.tic();
4946
for ( i = 0; i < b.iterations; i++ ) {
50-
y = median( min[ i % len ], max[ i % len ] );
47+
y = median( min[ i % min.length ], max[ i % max.length ] );
5148
if ( isnan( y ) ) {
5249
b.fail( 'should not return NaN' );
5350
}

lib/node_modules/@stdlib/stats/base/dists/arcsine/median/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 ) {
43+
var opts;
4344
var min;
4445
var max;
45-
var len;
4646
var y;
4747
var i;
4848

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

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

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

Lines changed: 8 additions & 11 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 pkg = require( './../package.json' ).name;
2827
var mode = require( './../lib' );
@@ -31,23 +30,21 @@ var mode = require( './../lib' );
3130
// MAIN //
3231

3332
bench( pkg, function benchmark( b ) {
33+
var opts;
3434
var min;
3535
var max;
36-
var len;
3736
var y;
3837
var i;
3938

40-
len = 100;
41-
min = new Float64Array( len );
42-
max = new Float64Array( len );
43-
for ( i = 0; i < len; i++ ) {
44-
min[ i ] = uniform( 0.0, 10.0 );
45-
max[ i ] = uniform( min[ i ], min[ i ] + 10.0 );
46-
}
39+
opts = {
40+
'dtype': 'float64'
41+
};
42+
min = uniform( 100, 0.0, 10.0, opts );
43+
max = uniform( 100, 10.0, 20.0, opts );
4744

4845
b.tic();
4946
for ( i = 0; i < b.iterations; i++ ) {
50-
y = mode( min[ i % len ], max[ i % len ] );
47+
y = mode( min[ i % min.length ], max[ i % max.length ] );
5148
if ( isnan( y ) ) {
5249
b.fail( 'should not return NaN' );
5350
}

lib/node_modules/@stdlib/stats/base/dists/arcsine/mode/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 ) {
43-
var len;
42+
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
43+
var opts;
4444
var min;
4545
var max;
4646
var y;
4747
var i;
4848

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

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

0 commit comments

Comments
 (0)