Skip to content

Commit c1acd4b

Browse files
hrshyakgryte
andauthored
bench: update random value generation
PR-URL: #6858 Co-authored-by: Athan Reines <kgryte@gmail.com> Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent e658ffd commit c1acd4b

File tree

12 files changed

+110
-132
lines changed

12 files changed

+110
-132
lines changed

lib/node_modules/@stdlib/stats/base/dists/binomial/skewness/benchmark/benchmark.js

+9-13
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var Int32Array = require( '@stdlib/array/int32' );
25-
var Float64Array = require( '@stdlib/array/float64' );
26-
var uniform = require( '@stdlib/random/base/uniform' );
27-
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' );
2826
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2927
var pkg = require( './../package.json' ).name;
3028
var skewness = require( './../lib' );
@@ -33,23 +31,21 @@ var skewness = require( './../lib' );
3331
// MAIN //
3432

3533
bench( pkg, function benchmark( b ) {
36-
var len;
3734
var n;
3835
var p;
3936
var y;
4037
var i;
4138

42-
len = 100;
43-
n = new Int32Array( len );
44-
p = new Float64Array( len );
45-
for ( i = 0; i < len; i++ ) {
46-
n[ i ] = discreteUniform( 1, 100 );
47-
p[ i ] = uniform( 0.0, 1.0 );
48-
}
39+
n = discreteUniform( 100, 1, 100, {
40+
'dtype': 'int32'
41+
});
42+
p = uniform( 100, 0.0, 1.0, {
43+
'dtype': 'float64'
44+
});
4945

5046
b.tic();
5147
for ( i = 0; i < b.iterations; i++ ) {
52-
y = skewness( n[ i % len ], p[ i % len ] );
48+
y = skewness( n[ i % n.length ], p[ i % p.length ] );
5349
if ( isnan( y ) ) {
5450
b.fail( 'should not return NaN' );
5551
}

lib/node_modules/@stdlib/stats/base/dists/binomial/skewness/benchmark/benchmark.native.js

+9-13
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var Int32Array = require( '@stdlib/array/int32' );
26-
var Float64Array = require( '@stdlib/array/float64' );
2725
var tryRequire = require( '@stdlib/utils/try-require' );
28-
var uniform = require( '@stdlib/random/base/uniform' );
29-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
26+
var uniform = require( '@stdlib/random/array/uniform' );
27+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
3028
var isnan = require( '@stdlib/math/base/assert/is-nan' );
3129
var pkg = require( './../package.json' ).name;
3230

@@ -42,23 +40,21 @@ var opts = {
4240
// MAIN //
4341

4442
bench( pkg+'::native', opts, function benchmark( b ) {
45-
var len;
4643
var n;
4744
var p;
4845
var y;
4946
var i;
5047

51-
len = 100;
52-
n = new Int32Array( len );
53-
p = new Float64Array( len );
54-
for ( i = 0; i < len; i++ ) {
55-
n[ i ] = discreteUniform( 1, 100 );
56-
p[ i ] = uniform( 0.0, 1.0 );
57-
}
48+
n = discreteUniform( 100, 1, 100, {
49+
'dtype': 'int32'
50+
});
51+
p = uniform( 100, 0.0, 1.0, {
52+
'dtype': 'float64'
53+
});
5854

5955
b.tic();
6056
for ( i = 0; i < b.iterations; i++ ) {
61-
y = skewness( n[ i % len ], p[ i % len ] );
57+
y = skewness( n[ i % n.length ], p[ i % p.length ] );
6258
if ( isnan( y ) ) {
6359
b.fail( 'should not return NaN' );
6460
}

lib/node_modules/@stdlib/stats/base/dists/binomial/skewness/test/test.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ tape( 'main export is a function', function test( t ) {
4444

4545
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) {
4646
var v = skewness( NaN, 0.5 );
47-
t.equal( isnan( v ), true, 'returns NaN' );
47+
t.equal( isnan( v ), true, 'returns expected value' );
4848

4949
v = skewness( 10, NaN );
50-
t.equal( isnan( v ), true, 'returns NaN' );
50+
t.equal( isnan( v ), true, 'returns expected value' );
5151

5252
v = skewness( NaN, NaN );
53-
t.equal( isnan( v ), true, 'returns NaN' );
53+
t.equal( isnan( v ), true, 'returns expected value' );
5454

5555
t.end();
5656
});
@@ -59,19 +59,19 @@ tape( 'if provided an `n` which is not a nonnegative integer, the function retur
5959
var v;
6060

6161
v = skewness( 1.5, 0.5 );
62-
t.equal( isnan( v ), true, 'returns NaN' );
62+
t.equal( isnan( v ), true, 'returns expected value' );
6363

6464
v = skewness( -2, 0.5 );
65-
t.equal( isnan( v ), true, 'returns NaN' );
65+
t.equal( isnan( v ), true, 'returns expected value' );
6666

6767
v = skewness( -1, 0.5 );
68-
t.equal( isnan( v ), true, 'returns NaN' );
68+
t.equal( isnan( v ), true, 'returns expected value' );
6969

7070
v = skewness( 2.5, 0.5 );
71-
t.equal( isnan( v ), true, 'returns NaN' );
71+
t.equal( isnan( v ), true, 'returns expected value' );
7272

7373
v = skewness( PINF, 0.5 );
74-
t.equal( isnan( v ), true, 'returns NaN' );
74+
t.equal( isnan( v ), true, 'returns expected value' );
7575

7676
t.end();
7777
});
@@ -80,16 +80,16 @@ tape( 'if provided a success probability `p` outside of `[0,1]`, the function re
8080
var v;
8181

8282
v = skewness( 20, -1.0 );
83-
t.equal( isnan( v ), true, 'returns NaN' );
83+
t.equal( isnan( v ), true, 'returns expected value' );
8484

8585
v = skewness( 20, 1.5 );
86-
t.equal( isnan( v ), true, 'returns NaN' );
86+
t.equal( isnan( v ), true, 'returns expected value' );
8787

8888
v = skewness( 20, NINF );
89-
t.equal( isnan( v ), true, 'returns NaN' );
89+
t.equal( isnan( v ), true, 'returns expected value' );
9090

9191
v = skewness( 20, PINF );
92-
t.equal( isnan( v ), true, 'returns NaN' );
92+
t.equal( isnan( v ), true, 'returns expected value' );
9393

9494
t.end();
9595
});

lib/node_modules/@stdlib/stats/base/dists/binomial/skewness/test/test.native.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ tape( 'if provided `NaN` for `p`, the function returns `NaN`', opts, function te
5555
var v;
5656

5757
v = skewness( 10, NaN );
58-
t.equal( isnan( v ), true, 'returns NaN' );
58+
t.equal( isnan( v ), true, 'returns expected value' );
5959

6060
t.end();
6161
});
@@ -64,10 +64,10 @@ tape( 'if provided an `n` which is not a nonnegative integer, the function retur
6464
var v;
6565

6666
v = skewness( -2, 0.5 );
67-
t.equal( isnan( v ), true, 'returns NaN' );
67+
t.equal( isnan( v ), true, 'returns expected value' );
6868

6969
v = skewness( -1, 0.5 );
70-
t.equal( isnan( v ), true, 'returns NaN' );
70+
t.equal( isnan( v ), true, 'returns expected value' );
7171

7272
t.end();
7373
});
@@ -76,16 +76,16 @@ tape( 'if provided a success probability `p` outside of `[0,1]`, the function re
7676
var v;
7777

7878
v = skewness( 20, -1.0 );
79-
t.equal( isnan( v ), true, 'returns NaN' );
79+
t.equal( isnan( v ), true, 'returns expected value' );
8080

8181
v = skewness( 20, 1.5 );
82-
t.equal( isnan( v ), true, 'returns NaN' );
82+
t.equal( isnan( v ), true, 'returns expected value' );
8383

8484
v = skewness( 20, NINF );
85-
t.equal( isnan( v ), true, 'returns NaN' );
85+
t.equal( isnan( v ), true, 'returns expected value' );
8686

8787
v = skewness( 20, PINF );
88-
t.equal( isnan( v ), true, 'returns NaN' );
88+
t.equal( isnan( v ), true, 'returns expected value' );
8989

9090
t.end();
9191
});

lib/node_modules/@stdlib/stats/base/dists/binomial/stdev/benchmark/benchmark.js

+9-12
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 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' );
2827
var pkg = require( './../package.json' ).name;
2928
var stdev = require( './../lib' );
@@ -32,23 +31,21 @@ var stdev = require( './../lib' );
3231
// MAIN //
3332

3433
bench( pkg, function benchmark( b ) {
35-
var len;
3634
var n;
3735
var p;
3836
var y;
3937
var i;
4038

41-
len = 100;
42-
n = new Float64Array( len );
43-
p = new Float64Array( len );
44-
for ( i = 0; i < len; i++ ) {
45-
n[ i ] = discreteUniform( 1, 100 );
46-
p[ i ] = uniform( 0.0, 1.0 );
47-
}
39+
n = discreteUniform( 100, 1, 100, {
40+
'dtype': 'int32'
41+
});
42+
p = uniform( 100, 0.0, 1.0, {
43+
'dtype': 'float64'
44+
});
4845

4946
b.tic();
5047
for ( i = 0; i < b.iterations; i++ ) {
51-
y = stdev( n[ i % len ], p[ i % len ] );
48+
y = stdev( n[ i % n.length ], p[ i % p.length ] );
5249
if ( isnan( y ) ) {
5350
b.fail( 'should not return NaN' );
5451
}

lib/node_modules/@stdlib/stats/base/dists/binomial/stdev/benchmark/benchmark.native.js

+9-12
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 uniform = require( '@stdlib/random/base/uniform' );
26-
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
27-
var Float64Array = require( '@stdlib/array/float64' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
26+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var isnan = require( '@stdlib/math/base/assert/is-nan' );
3029
var pkg = require( './../package.json' ).name;
@@ -41,23 +40,21 @@ var opts = {
4140
// MAIN //
4241

4342
bench( pkg+'::native', opts, function benchmark( b ) {
44-
var len;
4543
var n;
4644
var p;
4745
var y;
4846
var i;
4947

50-
len = 100;
51-
n = new Float64Array( len );
52-
p = new Float64Array( len );
53-
for ( i = 0; i < len; i++ ) {
54-
n[ i ] = discreteUniform( 1, 100 );
55-
p[ i ] = uniform( 0.0, 1.0 );
56-
}
48+
n = discreteUniform( 100, 1, 100, {
49+
'dtype': 'int32'
50+
});
51+
p = uniform( 100, 0.0, 1.0, {
52+
'dtype': 'float64'
53+
});
5754

5855
b.tic();
5956
for ( i = 0; i < b.iterations; i++ ) {
60-
y = stdev( n[ i % len ], p[ i % len ] );
57+
y = stdev( n[ i % n.length ], p[ i % p.length ] );
6158
if ( isnan( y ) ) {
6259
b.fail( 'should not return NaN' );
6360
}

lib/node_modules/@stdlib/stats/base/dists/binomial/stdev/test/test.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ tape( 'main export is a function', function test( t ) {
4242

4343
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) {
4444
var v = stdev( NaN, 0.5 );
45-
t.equal( isnan( v ), true, 'returns NaN' );
45+
t.equal( isnan( v ), true, 'returns expected value' );
4646

4747
v = stdev( 10, NaN );
48-
t.equal( isnan( v ), true, 'returns NaN' );
48+
t.equal( isnan( v ), true, 'returns expected value' );
4949

5050
v = stdev( NaN, NaN );
51-
t.equal( isnan( v ), true, 'returns NaN' );
51+
t.equal( isnan( v ), true, 'returns expected value' );
5252

5353
t.end();
5454
});
@@ -57,19 +57,19 @@ tape( 'if provided an `n` which is not a nonnegative integer, the function retur
5757
var v;
5858

5959
v = stdev( 1.5, 0.5 );
60-
t.equal( isnan( v ), true, 'returns NaN' );
60+
t.equal( isnan( v ), true, 'returns expected value' );
6161

6262
v = stdev( -2, 0.5 );
63-
t.equal( isnan( v ), true, 'returns NaN' );
63+
t.equal( isnan( v ), true, 'returns expected value' );
6464

6565
v = stdev( -1, 0.5 );
66-
t.equal( isnan( v ), true, 'returns NaN' );
66+
t.equal( isnan( v ), true, 'returns expected value' );
6767

6868
v = stdev( 2.5, 0.5 );
69-
t.equal( isnan( v ), true, 'returns NaN' );
69+
t.equal( isnan( v ), true, 'returns expected value' );
7070

7171
v = stdev( PINF, 0.5 );
72-
t.equal( isnan( v ), true, 'returns NaN' );
72+
t.equal( isnan( v ), true, 'returns expected value' );
7373

7474
t.end();
7575
});
@@ -78,16 +78,16 @@ tape( 'if provided a success probability `p` outside of `[0,1]`, the function re
7878
var v;
7979

8080
v = stdev( 20, -1.0 );
81-
t.equal( isnan( v ), true, 'returns NaN' );
81+
t.equal( isnan( v ), true, 'returns expected value' );
8282

8383
v = stdev( 20, 1.5 );
84-
t.equal( isnan( v ), true, 'returns NaN' );
84+
t.equal( isnan( v ), true, 'returns expected value' );
8585

8686
v = stdev( 20, NINF );
87-
t.equal( isnan( v ), true, 'returns NaN' );
87+
t.equal( isnan( v ), true, 'returns expected value' );
8888

8989
v = stdev( 20, PINF );
90-
t.equal( isnan( v ), true, 'returns NaN' );
90+
t.equal( isnan( v ), true, 'returns expected value' );
9191

9292
t.end();
9393
});

lib/node_modules/@stdlib/stats/base/dists/binomial/stdev/test/test.native.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ tape( 'main export is a function', opts, function test( t ) {
5151

5252
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) {
5353
var v = stdev( NaN, NaN );
54-
t.equal( isnan( v ), true, 'returns NaN' );
54+
t.equal( isnan( v ), true, 'returns expected value' );
5555

5656
v = stdev( 10, NaN );
57-
t.equal( isnan( v ), true, 'returns NaN' );
57+
t.equal( isnan( v ), true, 'returns expected value' );
5858

5959
t.end();
6060
});
@@ -63,10 +63,10 @@ tape( 'if provided an `n` which is not a nonnegative integer, the function retur
6363
var v;
6464

6565
v = stdev( -2, 0.5 );
66-
t.equal( isnan( v ), true, 'returns NaN' );
66+
t.equal( isnan( v ), true, 'returns expected value' );
6767

6868
v = stdev( -1, 0.5 );
69-
t.equal( isnan( v ), true, 'returns NaN' );
69+
t.equal( isnan( v ), true, 'returns expected value' );
7070

7171
t.end();
7272
});
@@ -75,16 +75,16 @@ tape( 'if provided a success probability `p` outside of `[0,1]`, the function re
7575
var v;
7676

7777
v = stdev( 20, -1.0 );
78-
t.equal( isnan( v ), true, 'returns NaN' );
78+
t.equal( isnan( v ), true, 'returns expected value' );
7979

8080
v = stdev( 20, 1.5 );
81-
t.equal( isnan( v ), true, 'returns NaN' );
81+
t.equal( isnan( v ), true, 'returns expected value' );
8282

8383
v = stdev( 20, NINF );
84-
t.equal( isnan( v ), true, 'returns NaN' );
84+
t.equal( isnan( v ), true, 'returns expected value' );
8585

8686
v = stdev( 20, PINF );
87-
t.equal( isnan( v ), true, 'returns NaN' );
87+
t.equal( isnan( v ), true, 'returns expected value' );
8888

8989
t.end();
9090
});

0 commit comments

Comments
 (0)