Skip to content

Commit

Permalink
bench: update random value generation
Browse files Browse the repository at this point in the history
PR-URL: #5369
Reviewed-by: Athan Reines <[email protected]>
  • Loading branch information
anandkaranubc authored Feb 22, 2025
1 parent 4340425 commit 69c1704
Show file tree
Hide file tree
Showing 21 changed files with 100 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
// MODULES //

var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var pkg = require( './../package.json' ).name;
var acsc = require( './../lib' );
Expand All @@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0 );

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu()*2.0 ) + 1.0;
y = acsc( x );
y = acsc( x[ i % x.length ] );
if ( isnan( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

var resolve = require( 'path' ).resolve;
var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var tryRequire = require( '@stdlib/utils/try-require' );
var pkg = require( './../package.json' ).name;
Expand All @@ -43,10 +43,11 @@ bench( pkg + '::native', opts, function benchmark( b ) {
var i;
var x;

x = uniform( 100, 1.0, 3.0 );

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu()*2.0 ) + 1.0;
y = acsc( x );
y = acsc( x[ i % x.length ] );
if ( isnan( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,19 @@ static double rand_double( void ) {
* @return elapsed time in seconds
*/
static double benchmark( void ) {
double x[ 100 ];
double elapsed;
double x;
double y;
double t;
int i;

for ( i = 0; i < 100; i++ ) {
x[ i ] = ( 100.0*rand_double() ) - 50.0;
}

t = tic();
for ( i = 0; i < ITERATIONS; i++ ) {
x = ( 100.0*rand_double() ) - 50.0;
y = stdlib_base_acsc( x );
y = stdlib_base_acsc( x[ i%100 ] );
if ( y != y ) {
printf( "should not return NaN\n" );
break;
Expand Down
6 changes: 3 additions & 3 deletions lib/node_modules/@stdlib/math/base/special/acsc/test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ tape( 'the function computes the arccosecant (positive values)', function test(

tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
var v = acsc( NaN );
t.equal( isnan( v ), true, 'returns NaN' );
t.equal( isnan( v ), true, 'returns expected value' );
t.end();
});

Expand All @@ -103,7 +103,7 @@ tape( 'the function returns `NaN` if provided a nonpositive value greater than `
for ( i = 0; i < 1e3; i++ ) {
v = -randu();
if ( v > -1.0 ) {
t.equal( isnan( acsc( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acsc( v ) ), true, 'returns expected value when provided '+v );
}
}
t.end();
Expand All @@ -116,7 +116,7 @@ tape( 'the function returns `NaN` if provided a nonnegative value less than `+1`
for ( i = 0; i < 1e3; i++ ) {
v = randu();
if ( v < 1.0 ) {
t.equal( isnan( acsc( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acsc( v ) ), true, 'returns expected value when provided '+v );
}
}
t.end();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ tape( 'the function computes the arccosecant (positive values)', opts, function

tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) {
var v = acsc( NaN );
t.equal( isnan( v ), true, 'returns NaN' );
t.equal( isnan( v ), true, 'returns expected value' );
t.end();
});

Expand All @@ -112,7 +112,7 @@ tape( 'the function returns `NaN` if provided a nonpositive value greater than `
for ( i = 0; i < 1e3; i++ ) {
v = -randu();
if ( v > -1.0 ) {
t.equal( isnan( acsc( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acsc( v ) ), true, 'returns expected value when provided '+v );
}
}
t.end();
Expand All @@ -125,7 +125,7 @@ tape( 'the function returns `NaN` if provided a nonnegative value less than `+1`
for ( i = 0; i < 1e3; i++ ) {
v = randu();
if ( v < 1.0 ) {
t.equal( isnan( acsc( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acsc( v ) ), true, 'returns expected value when provided '+v );
}
}
t.end();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
// MODULES //

var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var pkg = require( './../package.json' ).name;
var acscd = require( './../lib' );
Expand All @@ -34,10 +34,11 @@ bench( pkg, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0 );

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu()*2.0 ) + 1.0;
y = acscd( x );
y = acscd( x[ i % x.length ] );
if ( isnan( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

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

x = uniform( 100, 1.0, 3.0 );

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu() * 2.0 ) + 1.0;
y = acscd( x );
y = acscd( x[ i % x.length ] );
if ( isnan( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,19 @@ static double rand_double( void ) {
* @return elapsed time in seconds
*/
static double benchmark( void ) {
double x[ 100 ];
double elapsed;
double x;
double y;
double t;
int i;

for ( i = 0; i < 100; i++ ) {
x[ i ] = ( 2.0 * rand_double() ) + 1.0;
}

t = tic();
for ( i = 0; i < ITERATIONS; i++ ) {
x = ( 2.0 * rand_double() ) + 1.0;
y = stdlib_base_acscd( x );
y = stdlib_base_acscd( x[ i%100 ] );
if ( y != y ) {
printf( "should not return NaN\n" );
break;
Expand Down
6 changes: 3 additions & 3 deletions lib/node_modules/@stdlib/math/base/special/acscd/test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ tape( 'the function computes the arccosecant in degrees (positive values)', func

tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
var v = acscd( NaN );
t.equal( isnan( v ), true, 'returns NaN' );
t.equal( isnan( v ), true, 'returns expected value' );
t.end();
});

Expand All @@ -102,7 +102,7 @@ tape( 'the function returns `NaN` if provided a value greater than `-1`', functi

for ( i = 0; i < 1e3; i++ ) {
v = -randu() - EPS;
t.equal( isnan( acscd( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acscd( v ) ), true, 'returns expected value when provided '+v );
}
t.end();
});
Expand All @@ -113,7 +113,7 @@ tape( 'the function returns `NaN` if provided a value less than `+1`', function

for ( i = 0; i < 1e3; i++ ) {
v = (randu()) + EPS;
t.equal( isnan( acscd( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acscd( v ) ), true, 'returns expected value when provided '+v );
}
t.end();
});
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ tape( 'the function computes the arccosecant in degrees (positive values)', opts

tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) {
var v = acscd( NaN );
t.equal( isnan( v ), true, 'returns NaN' );
t.equal( isnan( v ), true, 'returns expected value' );
t.end();
});

Expand All @@ -111,7 +111,7 @@ tape( 'the function returns `NaN` if provided a value greater than `-1`', opts,

for ( i = 0; i < 1e3; i++ ) {
v = -randu() - EPS;
t.equal( isnan( acscd( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acscd( v ) ), true, 'returns expected value when provided '+v );
}
t.end();
});
Expand All @@ -122,7 +122,7 @@ tape( 'the function returns `NaN` if provided a value less than `+1`', opts, fun

for ( i = 0; i < 1e3; i++ ) {
v = (randu()) + EPS;
t.equal( isnan( acscd( v ) ), true, 'returns NaN when provided '+v );
t.equal( isnan( acscd( v ) ), true, 'returns expected value when provided '+v );
}
t.end();
});
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
// MODULES //

var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var pkg = require( './../package.json' ).name;
var acscdf = require( './../lib' );
Expand All @@ -34,10 +34,13 @@ bench( pkg, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu() * 2.0 ) + 1.0;
y = acscdf( x );
y = acscdf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

var resolve = require( 'path' ).resolve;
var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var tryRequire = require( '@stdlib/utils/try-require' );
var pkg = require( './../package.json' ).name;
Expand All @@ -43,10 +43,13 @@ bench( pkg+'::native', opts, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu() * 2.0 ) + 1.0;
y = acscdf( x );
y = acscdf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,17 @@ static float rand_float( void ) {
static double benchmark( void ) {
double elapsed;
double t;
float x;
float x[ 100 ];
float y;
int i;

for ( i = 0; i < 100; i++ ) {
x[ i ] = ( 2.0f * rand_float() ) + 1.0f;
}

t = tic();
for ( i = 0; i < ITERATIONS; i++ ) {
x = ( 2.0f * rand_float() ) + 1.0f;
y = stdlib_base_acscdf( x );
y = stdlib_base_acscdf( x[ i%100 ] );
if ( y != y ) {
printf( "should not return NaN\n" );
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
// MODULES //

var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var pkg = require( './../package.json' ).name;
var acscf = require( './../lib' );
Expand All @@ -34,10 +34,13 @@ bench( pkg, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu() * 2.0 ) + 1.0;
y = acscf( x );
y = acscf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

var resolve = require( 'path' ).resolve;
var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var tryRequire = require( '@stdlib/utils/try-require' );
var pkg = require( './../package.json' ).name;
Expand All @@ -43,10 +43,13 @@ bench( pkg+'::native', opts, function benchmark( b ) {
var y;
var i;

x = uniform( 100, 1.0, 3.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
x = ( randu() * 2.0 ) + 1.0;
y = acscf( x );
y = acscf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,17 @@ static float rand_float( void ) {
static double benchmark( void ) {
double elapsed;
double t;
float x;
float x[ 100 ];
float y;
int i;

for ( i = 0; i < 100; i++ ) {
x[ i ] = ( 2.0f * rand_float() ) + 1.0f;
}

t = tic();
for ( i = 0; i < ITERATIONS; i++ ) {
x = ( 2.0f * rand_float() ) + 1.0f;
y = stdlib_base_acscf( x );
y = stdlib_base_acscf( x[ i%100 ] );
if ( y != y ) {
printf( "should not return NaN\n" );
break;
Expand Down
Loading

1 comment on commit 69c1704

@stdlib-bot
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage Report

Package Statements Branches Functions Lines
math/base/special/acsc $\color{green}178/178$
$\color{green}+100.00\%$
$\color{green}5/5$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}178/178$
$\color{green}+100.00\%$
math/base/special/acscd $\color{green}188/188$
$\color{green}+100.00\%$
$\color{green}5/5$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}188/188$
$\color{green}+100.00\%$
math/base/special/acscdf $\color{green}197/197$
$\color{green}+100.00\%$
$\color{green}5/5$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}197/197$
$\color{green}+100.00\%$
math/base/special/acscf $\color{green}171/171$
$\color{green}+100.00\%$
$\color{green}5/5$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}171/171$
$\color{green}+100.00\%$
math/base/special/acsch $\color{green}157/157$
$\color{green}+100.00\%$
$\color{green}5/5$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}157/157$
$\color{green}+100.00\%$

The above coverage report was generated for the changes in this push.

Please sign in to comment.