Skip to content

Commit 2ad245f

Browse files
authored
bench: update random value generation
PR-URL: #7094 Reviewed-by: Athan Reines <[email protected]>
1 parent 6a7c0de commit 2ad245f

File tree

29 files changed

+328
-372
lines changed

29 files changed

+328
-372
lines changed

lib/node_modules/@stdlib/stats/base/dists/cosine/mgf/benchmark/benchmark.js

Lines changed: 16 additions & 20 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 EPS = require( '@stdlib/constants/float64/eps' );
2827
var pkg = require( './../package.json' ).name;
@@ -32,26 +31,23 @@ var mgf = require( './../lib' );
3231
// MAIN //
3332

3433
bench( pkg, function benchmark( b ) {
35-
var len;
34+
var opts;
3635
var mu;
3736
var s;
3837
var t;
3938
var y;
4039
var i;
4140

42-
len = 100;
43-
t = new Float64Array( len );
44-
mu = new Float64Array( len );
45-
s = new Float64Array( len );
46-
for ( i = 0; i < len; i++ ) {
47-
t[ i ] = uniform( EPS, 10.0 );
48-
mu[ i ] = uniform( -10.0, 10.0 );
49-
s[ i ] = uniform( EPS, 5.0 );
50-
}
41+
opts = {
42+
'dtype': 'float64'
43+
};
44+
t = uniform( 100, EPS, 10.0, opts );
45+
mu = uniform( 100, -10.0, 10.0, opts );
46+
s = uniform( 100, EPS, 5.0, opts );
5147

5248
b.tic();
5349
for ( i = 0; i < b.iterations; i++ ) {
54-
y = mgf( t[ i % len ], mu[ i % len ], s[ i % len ] );
50+
y = mgf( t[ i % t.length ], mu[ i % mu.length ], s[ i % s.length ] );
5551
if ( isnan( y ) ) {
5652
b.fail( 'should not return NaN' );
5753
}
@@ -66,25 +62,25 @@ bench( pkg, function benchmark( b ) {
6662

6763
bench( pkg+':factory', function benchmark( b ) {
6864
var myMGF;
69-
var len;
65+
var opts;
7066
var mu;
7167
var s;
7268
var t;
7369
var y;
7470
var i;
7571

72+
opts = {
73+
'dtype': 'float64'
74+
};
75+
t = uniform( 100, EPS, 5.0, opts );
76+
7677
mu = 10.0;
7778
s = 4.0;
7879
myMGF = mgf.factory( mu, s );
79-
len = 100;
80-
t = new Float64Array( len );
81-
for ( i = 0; i < len; i++ ) {
82-
t[ i ] = uniform( EPS, 5.0 );
83-
}
8480

8581
b.tic();
8682
for ( i = 0; i < b.iterations; i++ ) {
87-
y = myMGF( t[ i % len ] );
83+
y = myMGF( t[ i % t.length ] );
8884
if ( isnan( y ) ) {
8985
b.fail( 'should not return NaN' );
9086
}

lib/node_modules/@stdlib/stats/base/dists/cosine/mgf/benchmark/benchmark.native.js

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
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 EPS = require( '@stdlib/constants/float64/eps' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -41,26 +40,23 @@ var opts = {
4140
// MAIN //
4241

4342
bench( pkg+'::native', opts, function benchmark( b ) {
44-
var len;
43+
var opts;
4544
var mu;
4645
var s;
4746
var t;
4847
var y;
4948
var i;
5049

51-
len = 100;
52-
t = new Float64Array( len );
53-
mu = new Float64Array( len );
54-
s = new Float64Array( len );
55-
for ( i = 0; i < len; i++ ) {
56-
t[ i ] = uniform( EPS, 10.0 );
57-
mu[ i ] = uniform( -10.0, 10.0 );
58-
s[ i ] = uniform( EPS, 5.0 );
59-
}
50+
opts = {
51+
'dtype': 'float64'
52+
};
53+
t = uniform( 100, EPS, 10.0, opts );
54+
mu = uniform( 100, -10.0, 10.0, opts );
55+
s = uniform( 100, EPS, 5.0, opts );
6056

6157
b.tic();
6258
for ( i = 0; i < b.iterations; i++ ) {
63-
y = mgf( t[ i % len ], mu[ i % len ], s[ i % len ] );
59+
y = mgf( t[ i % t.length ], mu[ i % mu.length ], s[ i % s.length ] );
6460
if ( isnan( y ) ) {
6561
b.fail( 'should not return NaN' );
6662
}

lib/node_modules/@stdlib/stats/base/dists/cosine/mgf/test/test.factory.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,23 @@ tape( 'if provided `NaN` for any parameter, the created function returns `NaN`',
4949

5050
mgf = factory( 0.0, 1.0 );
5151
y = mgf( NaN );
52-
t.equal( isnan( y ), true, 'returns NaN' );
52+
t.equal( isnan( y ), true, 'returns expected value' );
5353

5454
mgf = factory( NaN, 1.0 );
5555
y = mgf( 0.0 );
56-
t.equal( isnan( y ), true, 'returns NaN' );
56+
t.equal( isnan( y ), true, 'returns expected value' );
5757

5858
mgf = factory( 1.0, NaN );
5959
y = mgf( 0.0 );
60-
t.equal( isnan( y ), true, 'returns NaN' );
60+
t.equal( isnan( y ), true, 'returns expected value' );
6161

6262
mgf = factory( NaN, NaN );
6363
y = mgf( 0.0 );
64-
t.equal( isnan( y ), true, 'returns NaN' );
64+
t.equal( isnan( y ), true, 'returns expected value' );
6565

6666
mgf = factory( NaN, NaN );
6767
y = mgf( NaN );
68-
t.equal( isnan( y ), true, 'returns NaN' );
68+
t.equal( isnan( y ), true, 'returns expected value' );
6969

7070
t.end();
7171
});
@@ -77,26 +77,26 @@ tape( 'if provided a negative `s`, the created function always returns `NaN`', f
7777
mgf = factory( 0.0, -1.0 );
7878

7979
y = mgf( 2.0 );
80-
t.equal( isnan( y ), true, 'returns NaN' );
80+
t.equal( isnan( y ), true, 'returns expected value' );
8181

8282
y = mgf( 0.0 );
83-
t.equal( isnan( y ), true, 'returns NaN' );
83+
t.equal( isnan( y ), true, 'returns expected value' );
8484

8585
mgf = factory( 0.0, NINF );
8686
y = mgf( 2.0 );
87-
t.equal( isnan( y ), true, 'returns NaN' );
87+
t.equal( isnan( y ), true, 'returns expected value' );
8888

8989
mgf = factory( PINF, NINF );
9090
y = mgf( 2.0 );
91-
t.equal( isnan( y ), true, 'returns NaN' );
91+
t.equal( isnan( y ), true, 'returns expected value' );
9292

9393
mgf = factory( NINF, NINF );
9494
y = mgf( 2.0 );
95-
t.equal( isnan( y ), true, 'returns NaN' );
95+
t.equal( isnan( y ), true, 'returns expected value' );
9696

9797
mgf = factory( NaN, NINF );
9898
y = mgf( 2.0 );
99-
t.equal( isnan( y ), true, 'returns NaN' );
99+
t.equal( isnan( y ), true, 'returns expected value' );
100100

101101
t.end();
102102
});
@@ -116,7 +116,7 @@ tape( 'the created function evaluates the MGF', function test( t ) {
116116
s = randu() * 10.0;
117117
mgf = factory( mu, s );
118118
y = mgf( x, mu, s );
119-
t.strictEqual( isNumber( y ), true, 'returns true' );
119+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
120120
}
121121
t.end();
122122
});

lib/node_modules/@stdlib/stats/base/dists/cosine/mgf/test/test.mgf.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,34 +39,34 @@ tape( 'main export is a function', function test( t ) {
3939

4040
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) {
4141
var y = mgf( NaN, 0.0, 1.0 );
42-
t.equal( isnan( y ), true, 'returns NaN' );
42+
t.equal( isnan( y ), true, 'returns expected value' );
4343
y = mgf( 0.0, NaN, 1.0 );
44-
t.equal( isnan( y ), true, 'returns NaN' );
44+
t.equal( isnan( y ), true, 'returns expected value' );
4545
y = mgf( 0.0, 1.0, NaN );
46-
t.equal( isnan( y ), true, 'returns NaN' );
46+
t.equal( isnan( y ), true, 'returns expected value' );
4747
t.end();
4848
});
4949

5050
tape( 'if provided a negative `s`, the function returns `NaN`', function test( t ) {
5151
var y;
5252

5353
y = mgf( 2.0, 2.0, -1.0 );
54-
t.equal( isnan( y ), true, 'returns NaN' );
54+
t.equal( isnan( y ), true, 'returns expected value' );
5555

5656
y = mgf( 0.0, 2.0, -1.0 );
57-
t.equal( isnan( y ), true, 'returns NaN' );
57+
t.equal( isnan( y ), true, 'returns expected value' );
5858

5959
y = mgf( 2.0, 1.0, NINF );
60-
t.equal( isnan( y ), true, 'returns NaN' );
60+
t.equal( isnan( y ), true, 'returns expected value' );
6161

6262
y = mgf( 2.0, PINF, NINF );
63-
t.equal( isnan( y ), true, 'returns NaN' );
63+
t.equal( isnan( y ), true, 'returns expected value' );
6464

6565
y = mgf( 2.0, NINF, NINF );
66-
t.equal( isnan( y ), true, 'returns NaN' );
66+
t.equal( isnan( y ), true, 'returns expected value' );
6767

6868
y = mgf( 2.0, NaN, NINF );
69-
t.equal( isnan( y ), true, 'returns NaN' );
69+
t.equal( isnan( y ), true, 'returns expected value' );
7070

7171
t.end();
7272
});
@@ -84,7 +84,7 @@ tape( 'the function evaluates the MGF', function test( t ) {
8484
mu = randu() * 10.0;
8585
s = randu() * 10.0;
8686
y = mgf( x, mu, s );
87-
t.strictEqual( isNumber( y ), true, 'returns true' );
87+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
8888
}
8989
t.end();
9090
});

lib/node_modules/@stdlib/stats/base/dists/cosine/mgf/test/test.native.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,34 +48,34 @@ tape( 'main export is a function', opts, function test( t ) {
4848

4949
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) {
5050
var y = mgf( NaN, 0.0, 1.0 );
51-
t.equal( isnan( y ), true, 'returns NaN' );
51+
t.equal( isnan( y ), true, 'returns expected value' );
5252
y = mgf( 0.0, NaN, 1.0 );
53-
t.equal( isnan( y ), true, 'returns NaN' );
53+
t.equal( isnan( y ), true, 'returns expected value' );
5454
y = mgf( 0.0, 1.0, NaN );
55-
t.equal( isnan( y ), true, 'returns NaN' );
55+
t.equal( isnan( y ), true, 'returns expected value' );
5656
t.end();
5757
});
5858

5959
tape( 'if provided a negative `s`, the function returns `NaN`', opts, function test( t ) {
6060
var y;
6161

6262
y = mgf( 2.0, 2.0, -1.0 );
63-
t.equal( isnan( y ), true, 'returns NaN' );
63+
t.equal( isnan( y ), true, 'returns expected value' );
6464

6565
y = mgf( 0.0, 2.0, -1.0 );
66-
t.equal( isnan( y ), true, 'returns NaN' );
66+
t.equal( isnan( y ), true, 'returns expected value' );
6767

6868
y = mgf( 2.0, 1.0, NINF );
69-
t.equal( isnan( y ), true, 'returns NaN' );
69+
t.equal( isnan( y ), true, 'returns expected value' );
7070

7171
y = mgf( 2.0, PINF, NINF );
72-
t.equal( isnan( y ), true, 'returns NaN' );
72+
t.equal( isnan( y ), true, 'returns expected value' );
7373

7474
y = mgf( 2.0, NINF, NINF );
75-
t.equal( isnan( y ), true, 'returns NaN' );
75+
t.equal( isnan( y ), true, 'returns expected value' );
7676

7777
y = mgf( 2.0, NaN, NINF );
78-
t.equal( isnan( y ), true, 'returns NaN' );
78+
t.equal( isnan( y ), true, 'returns expected value' );
7979

8080
t.end();
8181
});
@@ -92,7 +92,7 @@ tape( 'the function evaluates the MGF', opts, function test( t ) {
9292
mu = randu() * 10.0;
9393
s = randu() * 10.0;
9494
y = mgf( x, mu, s );
95-
t.strictEqual( isNumber( y ), true, 'returns true' );
95+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
9696
}
9797
t.end();
9898
});

lib/node_modules/@stdlib/stats/base/dists/cosine/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 EPS = require( '@stdlib/constants/float64/eps' );
2827
var pkg = require( './../package.json' ).name;
@@ -32,23 +31,21 @@ var mode = require( './../lib' );
3231
// MAIN //
3332

3433
bench( pkg, function benchmark( b ) {
35-
var len;
34+
var opts;
3635
var mu;
3736
var s;
3837
var y;
3938
var i;
4039

41-
len = 100;
42-
mu = new Float64Array( len );
43-
s = new Float64Array( len );
44-
for ( i = 0; i < len; i++ ) {
45-
mu[ i ] = uniform( -50.0, 50.0 );
46-
s[ i ] = uniform( EPS, 20.0 );
47-
}
40+
opts = {
41+
'dtype': 'float64'
42+
};
43+
mu = uniform( 100, -50.0, 50.0, opts );
44+
s = uniform( 100, EPS, 20.0, opts );
4845

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

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

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
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 EPS = require( '@stdlib/constants/float64/eps' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -41,23 +40,21 @@ var opts = {
4140
// MAIN //
4241

4342
bench( pkg+'::native', opts, function benchmark( b ) {
44-
var len;
43+
var opts;
4544
var mu;
4645
var s;
4746
var y;
4847
var i;
4948

50-
len = 100;
51-
mu = new Float64Array( len );
52-
s = new Float64Array( len );
53-
for ( i = 0; i < len; i++ ) {
54-
mu[ i ] = uniform( -50.0, 50.0 );
55-
s[ i ] = uniform( EPS, 20.0 );
56-
}
49+
opts = {
50+
'dtype': 'float64'
51+
};
52+
mu = uniform( 100, -50.0, 50.0, opts );
53+
s = uniform( 100, EPS, 20.0, opts );
5754

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

0 commit comments

Comments
 (0)