Skip to content

Commit c122b62

Browse files
bench: update random value generation
PR-URL: #5341 Reviewed-by: Athan Reines <[email protected]>
1 parent 07e0d9f commit c122b62

File tree

6 files changed

+24
-16
lines changed

6 files changed

+24
-16
lines changed

lib/node_modules/@stdlib/math/base/special/acoth/benchmark/benchmark.js

Lines changed: 4 additions & 3 deletions
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 isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pkg = require( './../package.json' ).name;
2727
var acoth = require( './../lib' );
@@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) {
3434
var y;
3535
var i;
3636

37+
x = uniform( 100, 1.1, 100.0 );
38+
3739
b.tic();
3840
for ( i = 0; i < b.iterations; i++ ) {
39-
x = ( randu()*100.0 ) + 1.1;
40-
y = acoth( x );
41+
y = acoth( x[ i % x.length ] );
4142
if ( isnan( y ) ) {
4243
b.fail( 'should not return NaN' );
4344
}

lib/node_modules/@stdlib/math/base/special/acoth/benchmark/benchmark.native.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/array/uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var tryRequire = require( '@stdlib/utils/try-require' );
2828
var pkg = require( './../package.json' ).name;
@@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4343
var y;
4444
var i;
4545

46+
x = uniform( 100, 1.1, 100.0 );
47+
4648
b.tic();
4749
for ( i = 0; i < b.iterations; i++ ) {
48-
x = ( randu()*100.0 ) + 1.1;
49-
y = acoth( x );
50+
y = acoth( x[ i % x.length ] );
5051
if ( isnan( y ) ) {
5152
b.fail( 'should not return NaN' );
5253
}

lib/node_modules/@stdlib/math/base/special/acoth/benchmark/c/benchmark.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,19 @@ static double rand_double( void ) {
8989
* @return elapsed time in seconds
9090
*/
9191
static double benchmark( void ) {
92+
double x[ 100 ];
9293
double elapsed;
93-
double x;
9494
double y;
9595
double t;
9696
int i;
9797

98+
for ( i = 0; i < 100; i++ ) {
99+
x[ i ] = ( 100.0*rand_double() ) + 1.1;
100+
}
101+
98102
t = tic();
99103
for ( i = 0; i < ITERATIONS; i++ ) {
100-
x = ( 100.0*rand_double() ) + 1.1;
101-
y = atanh( 1.0/x );
104+
y = atanh( 1.0/x[ i%100 ] );
102105
if ( y != y ) {
103106
printf( "should not return NaN\n" );
104107
break;

lib/node_modules/@stdlib/math/base/special/acoth/benchmark/c/native/benchmark.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,19 @@ static double rand_double( void ) {
9090
* @return elapsed time in seconds
9191
*/
9292
static double benchmark( void ) {
93+
double x[ 100 ];
9394
double elapsed;
94-
double x;
9595
double y;
9696
double t;
9797
int i;
9898

99+
for ( i = 0; i < 100; i++ ) {
100+
x[ i ] = ( 100.0*rand_double() ) + 1.1;
101+
}
102+
99103
t = tic();
100104
for ( i = 0; i < ITERATIONS; i++ ) {
101-
x = ( 100.0*rand_double() ) + 1.1;
102-
y = stdlib_base_acoth( x );
105+
y = stdlib_base_acoth( x[ i % 100 ] );
103106
if ( y != y ) {
104107
printf( "should not return NaN\n" );
105108
break;

lib/node_modules/@stdlib/math/base/special/acoth/test/test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ tape( 'the function computes the inverse hyperbolic cotangent for huge negative
234234

235235
tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
236236
var v = acoth( NaN );
237-
t.equal( isnan( v ), true, 'returns NaN' );
237+
t.equal( isnan( v ), true, 'returns expected value' );
238238
t.end();
239239
});
240240

@@ -244,7 +244,7 @@ tape( 'the function returns `NaN` if provided a value on the open interval (-1,1
244244

245245
for ( i = 0; i < 1e3; i++ ) {
246246
v = ( randu()*2.0 ) - 1.0;
247-
t.equal( isnan( acoth( v ) ), true, 'returns NaN when provided '+v );
247+
t.equal( isnan( acoth( v ) ), true, 'returns expected value when provided '+v );
248248
}
249249
t.end();
250250
});

lib/node_modules/@stdlib/math/base/special/acoth/test/test.native.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ tape( 'the function computes the inverse hyperbolic cotangent for huge negative
243243

244244
tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) {
245245
var v = acoth( NaN );
246-
t.equal( isnan( v ), true, 'returns NaN' );
246+
t.equal( isnan( v ), true, 'returns expected value' );
247247
t.end();
248248
});
249249

@@ -253,7 +253,7 @@ tape( 'the function returns `NaN` if provided a value on the open interval (-1,1
253253

254254
for ( i = 0; i < 1e3; i++ ) {
255255
v = ( randu()*2.0 ) - 1.0;
256-
t.equal( isnan( acoth( v ) ), true, 'returns NaN when provided '+v );
256+
t.equal( isnan( acoth( v ) ), true, 'returns expected value when provided '+v );
257257
}
258258
t.end();
259259
});

0 commit comments

Comments
 (0)