Skip to content

Commit 5b8deb1

Browse files
authored
bench: update random value generation
PR-URL: #6381 Reviewed-by: Philipp Burckhardt <[email protected]>
1 parent b6667b9 commit 5b8deb1

File tree

9 files changed

+204
-198
lines changed

9 files changed

+204
-198
lines changed

Diff for: lib/node_modules/@stdlib/math/base/special/minmaxabs/benchmark/benchmark.js

+16-14
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/array/uniform' );
2525
var isArray = require( '@stdlib/assert/is-array' );
2626
var minabs = require( '@stdlib/math/base/special/minabs' );
2727
var maxabs = require( '@stdlib/math/base/special/maxabs' );
@@ -37,11 +37,12 @@ bench( pkg, function benchmark( b ) {
3737
var z;
3838
var i;
3939

40+
x = uniform( 100, -500.0, 500.0 );
41+
y = uniform( 100, -500.0, 500.0 );
42+
4043
b.tic();
4144
for ( i = 0; i < b.iterations; i++ ) {
42-
x = ( randu()*1000.0 ) - 500.0;
43-
y = ( randu()*1000.0 ) - 500.0;
44-
z = minmaxabs( x, y );
45+
z = minmaxabs( x[ i%x.length ], y[ i%y.length ] );
4546
if ( z.length !== 2 ) {
4647
b.fail( 'should have expected length' );
4748
}
@@ -61,13 +62,13 @@ bench( pkg+':assign', function benchmark( b ) {
6162
var z;
6263
var i;
6364

65+
x = uniform( 100, -500.0, 500.0 );
66+
y = uniform( 100, -500.0, 500.0 );
6467
out = [ 0.0, 0.0 ];
6568

6669
b.tic();
6770
for ( i = 0; i < b.iterations; i++ ) {
68-
x = ( randu()*1000.0 ) - 500.0;
69-
y = ( randu()*1000.0 ) - 500.0;
70-
z = minmaxabs.assign( x, y, out, 1, 0 );
71+
z = minmaxabs.assign( x[ i%x.length ], y[ i%y.length ], out, 1, 0 );
7172
if ( z.length !== 2 ) {
7273
b.fail( 'should have expected length' );
7374
}
@@ -86,11 +87,12 @@ bench( pkg+'::minabs,maxabs', function benchmark( b ) {
8687
var z;
8788
var i;
8889

90+
x = uniform( 100, -500.0, 500.0 );
91+
y = uniform( 100, -500.0, 500.0 );
92+
8993
b.tic();
9094
for ( i = 0; i < b.iterations; i++ ) {
91-
x = ( randu()*1000.0 ) - 500.0;
92-
y = ( randu()*1000.0 ) - 500.0;
93-
z = [ minabs( x, y ), maxabs( x, y ) ];
95+
z = [ minabs( x[ i%x.length ], y[ i%y.length ] ), maxabs( x, y ) ];
9496
if ( z.length !== 2 ) {
9597
b.fail( 'should have expected length' );
9698
}
@@ -109,14 +111,14 @@ bench( pkg+'::minabs,maxabs,memory_reuse', function benchmark( b ) {
109111
var z;
110112
var i;
111113

114+
x = uniform( 100, -500.0, 500.0 );
115+
y = uniform( 100, -500.0, 500.0 );
112116
z = [ 0.0, 0.0 ];
113117

114118
b.tic();
115119
for ( i = 0; i < b.iterations; i++ ) {
116-
x = ( randu()*1000.0 ) - 500.0;
117-
y = ( randu()*1000.0 ) - 500.0;
118-
z[ 0 ] = minabs( x, y );
119-
z[ 1 ] = maxabs( x, y );
120+
z[ 0 ] = minabs( x[ i%x.length ], y[ i%y.length ] );
121+
z[ 1 ] = maxabs( x[ i%x.length ], y[ i%y.length ] );
120122
if ( z.length !== 2 ) {
121123
b.fail( 'should have expected length' );
122124
}

Diff for: lib/node_modules/@stdlib/math/base/special/minmaxabs/test/test.assign.js

+14-14
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,20 @@ tape( 'the function returns `NaN` for both the minimum and maximum absolute valu
4444
out = new Float64Array( 2 );
4545
v = minmaxabs( NaN, 3.14, out, 1, 0 );
4646
t.strictEqual( v, out, 'returns output array' );
47-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
48-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
47+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
48+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
4949

5050
out = new Float64Array( 2 );
5151
v = minmaxabs( 3.14, NaN, out, 1, 0 );
5252
t.strictEqual( v, out, 'returns output array' );
53-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
54-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
53+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
54+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
5555

5656
out = new Float64Array( 2 );
5757
v = minmaxabs( NaN, NaN, out, 1, 0 );
5858
t.strictEqual( v, out, 'returns output array' );
59-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
60-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
59+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
60+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
6161

6262
t.end();
6363
});
@@ -107,26 +107,26 @@ tape( 'the function returns correctly signed zeros', function test( t ) {
107107
out = new Float64Array( 2 );
108108
v = minmaxabs( +0.0, -0.0, out, 1, 0 );
109109
t.strictEqual( v, out, 'returns output array' );
110-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
111-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
110+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
111+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
112112

113113
out = new Float64Array( 2 );
114114
v = minmaxabs( -0.0, +0.0, out, 1, 0 );
115115
t.strictEqual( v, out, 'returns output array' );
116-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
117-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
116+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
117+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
118118

119119
out = new Float64Array( 2 );
120120
v = minmaxabs( -0.0, -0.0, out, 1, 0 );
121121
t.strictEqual( v, out, 'returns output array' );
122-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
123-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
122+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
123+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
124124

125125
out = new Float64Array( 2 );
126126
v = minmaxabs( +0.0, +0.0, out, 1, 0 );
127127
t.strictEqual( v, out, 'returns output array' );
128-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
129-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
128+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
129+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
130130

131131
t.end();
132132
});

Diff for: lib/node_modules/@stdlib/math/base/special/minmaxabs/test/test.main.js

+14-14
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@ tape( 'the function returns `NaN` for both the minimum and maximum absolute valu
4040
var v;
4141

4242
v = minmaxabs( NaN, 3.14 );
43-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
44-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
43+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
44+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
4545

4646
v = minmaxabs( 3.14, NaN );
47-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
48-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
47+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
48+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
4949

5050
v = minmaxabs( NaN, NaN );
51-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
52-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
51+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
52+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
5353

5454
t.end();
5555
});
@@ -86,20 +86,20 @@ tape( 'the function returns correctly signed zeros', function test( t ) {
8686
var v;
8787

8888
v = minmaxabs( +0.0, -0.0 );
89-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
90-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
89+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
90+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
9191

9292
v = minmaxabs( -0.0, +0.0 );
93-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
94-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
93+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
94+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
9595

9696
v = minmaxabs( -0.0, -0.0 );
97-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
98-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
97+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
98+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
9999

100100
v = minmaxabs( +0.0, +0.0 );
101-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
102-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
101+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
102+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
103103

104104
t.end();
105105
});

Diff for: lib/node_modules/@stdlib/math/base/special/minmaxabsn/benchmark/benchmark.js

+16-14
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/array/uniform' );
2525
var isArray = require( '@stdlib/assert/is-array' );
2626
var minabs = require( '@stdlib/math/base/special/minabs' );
2727
var maxabs = require( '@stdlib/math/base/special/maxabs' );
@@ -37,11 +37,12 @@ bench( pkg, function benchmark( b ) {
3737
var z;
3838
var i;
3939

40+
x = uniform( 100, -500.0, 500.0 );
41+
y = uniform( 100, -500.0, 500.0 );
42+
4043
b.tic();
4144
for ( i = 0; i < b.iterations; i++ ) {
42-
x = ( randu()*1000.0 ) - 500.0;
43-
y = ( randu()*1000.0 ) - 500.0;
44-
z = minmaxabsn( x, y );
45+
z = minmaxabsn( x[ i%x.length ], y[ i%y.length ] );
4546
if ( z.length !== 2 ) {
4647
b.fail( 'should have expected length' );
4748
}
@@ -61,13 +62,13 @@ bench( pkg+':assign', function benchmark( b ) {
6162
var z;
6263
var i;
6364

65+
x = uniform( 100, -500.0, 500.0 );
66+
y = uniform( 100, -500.0, 500.0 );
6467
out = [ 0.0, 0.0 ];
6568

6669
b.tic();
6770
for ( i = 0; i < b.iterations; i++ ) {
68-
x = ( randu()*1000.0 ) - 500.0;
69-
y = ( randu()*1000.0 ) - 500.0;
70-
z = minmaxabsn.assign( x, y, out, 1, 0 );
71+
z = minmaxabsn.assign( x[ i%x.length ], y[ i%y.length ], out, 1, 0 );
7172
if ( z.length !== 2 ) {
7273
b.fail( 'should have expected length' );
7374
}
@@ -86,11 +87,12 @@ bench( pkg+'::minabs,maxabs', function benchmark( b ) {
8687
var z;
8788
var i;
8889

90+
x = uniform( 100, -500.0, 500.0 );
91+
y = uniform( 100, -500.0, 500.0 );
92+
8993
b.tic();
9094
for ( i = 0; i < b.iterations; i++ ) {
91-
x = ( randu()*1000.0 ) - 500.0;
92-
y = ( randu()*1000.0 ) - 500.0;
93-
z = [ minabs( x, y ), maxabs( x, y ) ];
95+
z = [ minabs( x, y ), maxabs( x[ i%x.length ], y[ i%y.length ] ) ];
9496
if ( z.length !== 2 ) {
9597
b.fail( 'should have expected length' );
9698
}
@@ -109,14 +111,14 @@ bench( pkg+'::minabs,maxabs,memory_reuse', function benchmark( b ) {
109111
var z;
110112
var i;
111113

114+
x = uniform( 100, -500.0, 500.0 );
115+
y = uniform( 100, -500.0, 500.0 );
112116
z = [ 0.0, 0.0 ];
113117

114118
b.tic();
115119
for ( i = 0; i < b.iterations; i++ ) {
116-
x = ( randu()*1000.0 ) - 500.0;
117-
y = ( randu()*1000.0 ) - 500.0;
118-
z[ 0 ] = minabs( x, y );
119-
z[ 1 ] = maxabs( x, y );
120+
z[ 0 ] = minabs( x[ i%x.length ], y[ i%y.length ] );
121+
z[ 1 ] = maxabs( x[ i%x.length ], y[ i%y.length ] );
120122
if ( z.length !== 2 ) {
121123
b.fail( 'should have expected length' );
122124
}

Diff for: lib/node_modules/@stdlib/math/base/special/minmaxabsn/test/test.assign.js

+28-28
Original file line numberDiff line numberDiff line change
@@ -44,44 +44,44 @@ tape( 'the function returns `NaN` for both the minimum and maximum absolute valu
4444
out = new Float64Array( 2 );
4545
v = minmaxabsn( NaN, 3.14, out, 1, 0 );
4646
t.strictEqual( v, out, 'returns output array' );
47-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
48-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
47+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
48+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
4949

5050
out = new Float64Array( 2 );
5151
v = minmaxabsn( 3.14, NaN, out, 1, 0 );
5252
t.strictEqual( v, out, 'returns output array' );
53-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
54-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
53+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
54+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
5555

5656
out = new Float64Array( 2 );
5757
v = minmaxabsn( NaN, NaN, out, 1, 0 );
5858
t.strictEqual( v, out, 'returns output array' );
59-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
60-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
59+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
60+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
6161

6262
out = new Float64Array( 2 );
6363
v = minmaxabsn( NaN, out, 1, 0 );
6464
t.strictEqual( v, out, 'returns output array' );
65-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
66-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
65+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
66+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
6767

6868
out = new Float64Array( 2 );
6969
v = minmaxabsn( 3.14, 4.2, NaN, out, 1, 0 );
7070
t.strictEqual( v, out, 'returns output array' );
71-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
72-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
71+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
72+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
7373

7474
out = new Float64Array( 2 );
7575
v = minmaxabsn( NaN, 4.2, NaN, out, 1, 0 );
7676
t.strictEqual( v, out, 'returns output array' );
77-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
78-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
77+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
78+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
7979

8080
out = new Float64Array( 2 );
8181
v = minmaxabsn( NaN, NaN, NaN, out, 1, 0 );
8282
t.strictEqual( v, out, 'returns output array' );
83-
t.strictEqual( isnan( v[ 0 ] ), true, 'returns NaN' );
84-
t.strictEqual( isnan( v[ 1 ] ), true, 'returns NaN' );
83+
t.strictEqual( isnan( v[ 0 ] ), true, 'returns expected value' );
84+
t.strictEqual( isnan( v[ 1 ] ), true, 'returns expected value' );
8585

8686
t.end();
8787
});
@@ -155,44 +155,44 @@ tape( 'the function returns correctly signed zeros', function test( t ) {
155155
out = new Float64Array( 2 );
156156
v = minmaxabsn( +0.0, -0.0, out, 1, 0 );
157157
t.strictEqual( v, out, 'returns output array' );
158-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
159-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
158+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
159+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
160160

161161
out = new Float64Array( 2 );
162162
v = minmaxabsn( -0.0, +0.0, out, 1, 0 );
163163
t.strictEqual( v, out, 'returns output array' );
164-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
165-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
164+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
165+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
166166

167167
out = new Float64Array( 2 );
168168
v = minmaxabsn( -0.0, -0.0, out, 1, 0 );
169169
t.strictEqual( v, out, 'returns output array' );
170-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
171-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
170+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
171+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
172172

173173
out = new Float64Array( 2 );
174174
v = minmaxabsn( +0.0, +0.0, out, 1, 0 );
175175
t.strictEqual( v, out, 'returns output array' );
176-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
177-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
176+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
177+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
178178

179179
out = new Float64Array( 2 );
180180
v = minmaxabsn( -0.0, out, 1, 0 );
181181
t.strictEqual( v, out, 'returns output array' );
182-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
183-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
182+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
183+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
184184

185185
out = new Float64Array( 2 );
186186
v = minmaxabsn( +0.0, out, 1, 0 );
187187
t.strictEqual( v, out, 'returns output array' );
188-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
189-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
188+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
189+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
190190

191191
out = new Float64Array( 2 );
192192
v = minmaxabsn( +0.0, -0.0, +0.0, out, 1, 0 );
193193
t.strictEqual( v, out, 'returns output array' );
194-
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns +0' );
195-
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns +0' );
194+
t.strictEqual( isPositiveZero( v[ 0 ] ), true, 'returns expected value' );
195+
t.strictEqual( isPositiveZero( v[ 1 ] ), true, 'returns expected value' );
196196

197197
t.end();
198198
});

0 commit comments

Comments
 (0)