diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.js index 6156012c7527..15ff437185a0 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.js @@ -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 acosh = require( './../lib' ); @@ -41,10 +41,11 @@ bench( pkg, function benchmark( b ) { var y; var i; + x = uniform( 100, 1.0, 100.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100.0 ) + 1.0; - y = acosh( x ); + y = acosh( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } @@ -62,10 +63,11 @@ bench( pkg+'::built-in', opts, function benchmark( b ) { var y; var i; + x = uniform( 100, 1.0, 100.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100.0 ) + 1.0; - y = Math.acosh( x ); // eslint-disable-line stdlib/no-builtin-math + y = Math.acosh( x[ i % x.length ] ); // eslint-disable-line stdlib/no-builtin-math if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.native.js index 85b99d84016f..d3706d9e64a5 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/benchmark.native.js @@ -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; @@ -43,10 +43,11 @@ bench( pkg+'::native', opts, function benchmark( b ) { var y; var i; + x = uniform( 100, 1.0, 100.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*100.0 ) + 1.0; - y = acosh( x ); + y = acosh( x[ i % x.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/benchmark.c index f600a8af2e01..2768bde67c6e 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/benchmark.c @@ -89,16 +89,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() ) + 1.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 100.0*rand_double() ) + 1.0; - y = acosh( x ); + y = acosh( x[ i % 100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/cephes/benchmark.c b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/cephes/benchmark.c index e951f8a6a8f6..f7483cc039bf 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/cephes/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/cephes/benchmark.c @@ -94,16 +94,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() ) + 1.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 100.0*rand_double() ) + 1.0; - y = acosh( x ); + y = acosh( x[ i % 100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/native/benchmark.c index b8e35f04bd79..d357d82908c8 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/c/native/benchmark.c @@ -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() ) + 1.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( 100.0*rand_double() ) + 1.0; - y = stdlib_base_acosh( x ); + y = stdlib_base_acosh( x[ i % 100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/cpp/boost/benchmark.cpp b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/cpp/boost/benchmark.cpp index d0ba2e0b70f3..3bbfb0ff659b 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/cpp/boost/benchmark.cpp +++ b/lib/node_modules/@stdlib/math/base/special/acosh/benchmark/cpp/boost/benchmark.cpp @@ -85,8 +85,8 @@ double tic() { * @return elapsed time in seconds */ double benchmark() { + double x[ 100 ]; double elapsed; - double x; double y; double t; int i; @@ -97,10 +97,13 @@ double benchmark() { // Define a uniform distribution for generating pseudorandom numbers as "doubles" between a minimum value (inclusive) and a maximum value (exclusive): uniform_real_distribution<> randu( 1.0, 101.0 ); + for ( i = 0; i < 100; i++ ) { + x[ i ] = randu( rng ); + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = randu( rng ); - y = boost::math::acosh( x ); + y = boost::math::acosh( x[ i % 100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/test/test.js b/lib/node_modules/@stdlib/math/base/special/acosh/test/test.js index 0fc2bd143c09..2ea8d016933c 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/acosh/test/test.js @@ -142,7 +142,7 @@ tape( 'the function computes the hyperbolic arccosine for huge values', function tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { var v = acosh( NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -152,7 +152,7 @@ tape( 'the function returns `NaN` if provided value less than `1`', function tes for ( i = 0; i < 1e3; i++ ) { v = -(randu()*1.0e6) + (1-EPS); - t.equal( isnan( acosh( v ) ), true, 'returns NaN when provided '+v ); + t.equal( isnan( acosh( v ) ), true, 'returns expected value when provided '+v ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/acosh/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/acosh/test/test.native.js index 6092feff4ebd..538c3949a5cc 100644 --- a/lib/node_modules/@stdlib/math/base/special/acosh/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/acosh/test/test.native.js @@ -151,7 +151,7 @@ tape( 'the function computes the hyperbolic arccosine for huge values', opts, fu tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { var v = acosh( NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); + t.equal( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -161,7 +161,7 @@ tape( 'the function returns `NaN` if provided value less than `1`', opts, functi for ( i = 0; i < 1e3; i++ ) { v = -(randu()*1.0e6) + (1-EPS); - t.equal( isnan( acosh( v ) ), true, 'returns NaN when provided '+v ); + t.equal( isnan( acosh( v ) ), true, 'returns expected value when provided '+v ); } t.end(); });