Skip to content

Commit f5199d6

Browse files
bench: update random value generation for stats/base/dists/frechet
PR-URL: #10317 Co-authored-by: Philipp Burckhardt <pburckhardt@outlook.com> Reviewed-by: Philipp Burckhardt <pburckhardt@outlook.com> Signed-off-by: Lokesh Ranjan <lokesh.ranjan.phe23@itbhu.ac.in>
1 parent 1ac0545 commit f5199d6

File tree

16 files changed

+177
-244
lines changed

16 files changed

+177
-244
lines changed

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

Lines changed: 17 additions & 22 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 format = require( '@stdlib/string/format' );
@@ -34,27 +33,24 @@ var cdf = require( './../lib' );
3433

3534
bench( pkg, function benchmark( b ) {
3635
var alpha;
37-
var len;
36+
var opts;
3837
var s;
3938
var x;
4039
var m;
4140
var y;
4241
var i;
4342

44-
len = 100;
45-
alpha = new Float64Array( len );
46-
x = new Float64Array( len );
47-
s = new Float64Array( len );
48-
m = new Float64Array( len );
49-
for ( i = 0; i < len; i++ ) {
50-
alpha[ i ] = uniform( EPS, 5.0 );
51-
s[ i ] = uniform( EPS, 5.0 );
52-
m[ i ] = uniform( -2.0, 2.0 );
53-
x[ i ] = uniform( m[ i ] + 0.1, m[ i ] + 20.0 );
54-
}
43+
opts = {
44+
'dtype': 'float64'
45+
};
46+
alpha = uniform( 100, EPS, 5.0, opts );
47+
x = uniform( 100, 2.1, 22.0, opts );
48+
s = uniform( 100, EPS, 5.0, opts );
49+
m = uniform( 100, -2.0, 2.0, opts );
50+
5551
b.tic();
5652
for ( i = 0; i < b.iterations; i++ ) {
57-
y = cdf( x[ i % len ], alpha[ i % len ], s[ i % len ], m[ i % len ] );
53+
y = cdf( x[ i % x.length ], alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
5854
if ( isnan( y ) ) {
5955
b.fail( 'should not return NaN' );
6056
}
@@ -70,26 +66,25 @@ bench( pkg, function benchmark( b ) {
7066
bench( format( '%s::factory', pkg ), function benchmark( b ) {
7167
var mycdf;
7268
var alpha;
73-
var len;
69+
var opts;
7470
var m;
7571
var s;
7672
var x;
7773
var y;
7874
var i;
7975

76+
opts = {
77+
'dtype': 'float64'
78+
};
8079
alpha = 10.0;
8180
s = 3.0;
8281
m = 4.0;
8382
mycdf = cdf.factory( alpha, s, m );
84-
len = 100;
85-
x = new Float64Array( len );
86-
for ( i = 0; i < len; i++ ) {
87-
x[ i ] = uniform( 0.0, 50.0 );
88-
}
83+
x = uniform( 100, 0.0, 50.0, opts );
8984

9085
b.tic();
9186
for ( i = 0; i < b.iterations; i++ ) {
92-
y = mycdf( x[ i % len ]);
87+
y = mycdf( x[ i % x.length ] );
9388
if ( isnan( y ) ) {
9489
b.fail( 'should not return NaN' );
9590
}

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

Lines changed: 11 additions & 15 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 isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -43,27 +42,24 @@ var opts = {
4342

4443
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4544
var alpha;
46-
var len;
45+
var opts;
4746
var s;
4847
var x;
4948
var m;
5049
var y;
5150
var i;
5251

53-
len = 100;
54-
alpha = new Float64Array( len );
55-
x = new Float64Array( len );
56-
s = new Float64Array( len );
57-
m = new Float64Array( len );
58-
for ( i = 0; i < len; i++ ) {
59-
alpha[ i ] = uniform( EPS, 5.0 );
60-
s[ i ] = uniform( EPS, 5.0 );
61-
m[ i ] = uniform( -2.0, 2.0 );
62-
x[ i ] = uniform( m[ i ] + 0.1, m[ i ] + 20.0 );
63-
}
52+
opts = {
53+
'dtype': 'float64'
54+
};
55+
alpha = uniform( 100, EPS, 5.0, opts );
56+
x = uniform( 100, 2.1, 22.0, opts );
57+
s = uniform( 100, EPS, 5.0, opts );
58+
m = uniform( 100, -2.0, 2.0, opts );
59+
6460
b.tic();
6561
for ( i = 0; i < b.iterations; i++ ) {
66-
y = cdf( x[ i % len ], alpha[ i % len ], s[ i % len ], m[ i % len ] );
62+
y = cdf( x[ i % x.length ], alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
6763
if ( isnan( y ) ) {
6864
b.fail( 'should not return NaN' );
6965
}

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

Lines changed: 9 additions & 13 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;
@@ -33,25 +32,22 @@ var entropy = require( './../lib' );
3332

3433
bench( pkg, function benchmark( b ) {
3534
var alpha;
36-
var len;
35+
var opts;
3736
var m;
3837
var s;
3938
var y;
4039
var i;
4140

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

5248
b.tic();
5349
for ( i = 0; i < b.iterations; i++ ) {
54-
y = entropy( alpha[ i % len ], s[ i % len ], m[ i % len ] );
50+
y = entropy( alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
5551
if ( isnan( y ) ) {
5652
b.fail( 'should not return NaN' );
5753
}

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

Lines changed: 11 additions & 14 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 isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -43,24 +42,22 @@ var opts = {
4342

4443
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4544
var alpha;
46-
var len;
47-
var s;
45+
var opts;
4846
var m;
47+
var s;
4948
var y;
5049
var i;
5150

52-
len = 100;
53-
alpha = new Float64Array( len );
54-
s = new Float64Array( len );
55-
m = new Float64Array( len );
56-
for ( i = 0; i < len; i++ ) {
57-
alpha[ i ] = uniform( EPS, 20.0 );
58-
s[ i ] = uniform( EPS, 20.0 );
59-
m[ i ] = uniform( -20.0, 20.0 );
60-
}
51+
opts = {
52+
'dtype': 'float64'
53+
};
54+
alpha = uniform( 100, EPS, 20.0, opts );
55+
s = uniform( 100, EPS, 20.0, opts );
56+
m = uniform( 100, -20.0, 20.0, opts );
57+
6158
b.tic();
6259
for ( i = 0; i < b.iterations; i++ ) {
63-
y = entropy( alpha[ i % len ], s[ i % len ], m[ i % len ] );
60+
y = entropy( alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
6461
if ( isnan( y ) ) {
6562
b.fail( 'should not return NaN' );
6663
}

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

Lines changed: 9 additions & 13 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;
@@ -33,25 +32,22 @@ var kurtosis = require( './../lib' );
3332

3433
bench( pkg, function benchmark( b ) {
3534
var alpha;
36-
var len;
35+
var opts;
3736
var m;
3837
var s;
3938
var y;
4039
var i;
4140

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

5248
b.tic();
5349
for ( i = 0; i < b.iterations; i++ ) {
54-
y = kurtosis( alpha[ i % len ], s[ i % len ], m[ i % len ] );
50+
y = kurtosis( alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
5551
if ( isnan( y ) ) {
5652
b.fail( 'should not return NaN' );
5753
}

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

Lines changed: 10 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 isnan = require( '@stdlib/math/base/assert/is-nan' );
2827
var tryRequire = require( '@stdlib/utils/try-require' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -43,24 +42,22 @@ var opts = {
4342

4443
bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
4544
var alpha;
46-
var len;
45+
var opts;
4746
var s;
4847
var m;
4948
var y;
5049
var i;
5150

52-
len = 100;
53-
alpha = new Float64Array( len );
54-
s = new Float64Array( len );
55-
m = new Float64Array( len );
56-
for ( i = 0; i < len; i++ ) {
57-
alpha[ i ] = uniform( EPS, 20.0 );
58-
s[ i ] = uniform( EPS, 20.0 );
59-
m[ i ] = uniform( -20.0, 20.0 );
60-
}
51+
opts = {
52+
'dtype': 'float64'
53+
};
54+
alpha = uniform( 100, EPS, 20.0, opts );
55+
s = uniform( 100, EPS, 20.0, opts );
56+
m = uniform( 100, -20.0, 20.0, opts );
57+
6158
b.tic();
6259
for ( i = 0; i < b.iterations; i++ ) {
63-
y = kurtosis( alpha[ i % len ], s[ i % len ], m[ i % len ] );
60+
y = kurtosis( alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
6461
if ( isnan( y ) ) {
6562
b.fail( 'should not return NaN' );
6663
}

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

Lines changed: 16 additions & 22 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 format = require( '@stdlib/string/format' );
@@ -34,28 +33,24 @@ var logcdf = require( './../lib' );
3433

3534
bench( pkg, function benchmark( b ) {
3635
var alpha;
37-
var len;
36+
var opts;
3837
var m;
3938
var s;
4039
var x;
4140
var y;
4241
var i;
4342

44-
len = 100;
45-
x = new Float64Array( len );
46-
alpha = new Float64Array( len );
47-
s = new Float64Array( len );
48-
m = new Float64Array( len );
49-
for ( i = 0; i < len; i++ ) {
50-
x[ i ] = uniform( -50.0, 50.0 );
51-
alpha[ i ] = uniform( EPS, 20.0 );
52-
m[ i ] = uniform( -20.0, 40.0 );
53-
s[ i ] = uniform( EPS, 20.0 );
54-
}
43+
opts = {
44+
'dtype': 'float64'
45+
};
46+
x = uniform( 100, -50.0, 50.0, opts );
47+
alpha = uniform( 100, EPS, 20.0, opts );
48+
s = uniform( 100, EPS, 20.0, opts );
49+
m = uniform( 100, -20.0, 40.0, opts );
5550

5651
b.tic();
5752
for ( i = 0; i < b.iterations; i++ ) {
58-
y = logcdf( x[ i % len ], alpha[ i % len ], s[ i % len ], m[ i % len ] );
53+
y = logcdf( x[ i % x.length ], alpha[ i % alpha.length ], s[ i % s.length ], m[ i % m.length ] );
5954
if ( isnan( y ) ) {
6055
b.fail( 'should not return NaN' );
6156
}
@@ -71,26 +66,25 @@ bench( pkg, function benchmark( b ) {
7166
bench( format( '%s:factory', pkg ), function benchmark( b ) {
7267
var mylogcdf;
7368
var alpha;
74-
var len;
69+
var opts;
7570
var m;
7671
var s;
7772
var x;
7873
var y;
7974
var i;
8075

76+
opts = {
77+
'dtype': 'float64'
78+
};
8179
alpha = 10.0;
8280
s = 3.0;
8381
m = 4.0;
8482
mylogcdf = logcdf.factory( alpha, s, m );
85-
len = 100;
86-
x = new Float64Array( len );
87-
for ( i = 0; i < len; i++ ) {
88-
x[ i ] = uniform( 0.0, 50.0 );
89-
}
83+
x = uniform( 100, 0.0, 50.0, opts );
9084

9185
b.tic();
9286
for ( i = 0; i < b.iterations; i++ ) {
93-
y = mylogcdf( x[ i % len ] );
87+
y = mylogcdf( x[ i % x.length ] );
9488
if ( isnan( y ) ) {
9589
b.fail( 'should not return NaN' );
9690
}

0 commit comments

Comments
 (0)