diff --git a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js index 16f764a8f1ae..7c7eca029aac 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/signrank/cdf/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/base/uniform' ); var ceil = require( '@stdlib/math/base/special/ceil' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; @@ -29,22 +29,31 @@ var cdf = require( './../lib' ); // MAIN // +function generateRandomValues(iterations, minX, maxX, minN, maxN) { + return { + xValues: Array.from({ length: iterations }, () => uniform(minX, maxX)), + nValues: Array.from({ length: iterations }, () => Math.ceil(uniform(minN, maxN))) + }; +} + bench( pkg, function benchmark( b ) { + var { xValues, nValues } = generateRandomValues(b.iterations, 0, 20.0, 1, 20.0); var n; var x; var y; var i; b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 20.0; - n = ceil( randu()*20.0 ); - y = cdf( x, n ); - if ( isnan( y ) ) { - b.fail( 'should not return NaN' ); - } - } + for ( i = 0; i < b.iterations; i++) { + x = xValues[i]; + n = nValues[i]; + y = cdf(x, n); + if (isnan(y)) { + b.fail('should not return NaN'); + } + } + b.toc(); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -62,14 +71,18 @@ bench( pkg+':factory', function benchmark( b ) { n = 20; mycdf = cdf.factory( n ); + const { xValues } = generateRandomValues(b.iterations, 0, 20.0); b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - x = randu() * 20.0; - y = mycdf( x ); - if ( isnan( y ) ) { - b.fail( 'should not return NaN' ); - } + + for ( i = 0; i < b.iterations; i++) { + x = xValues[i]; + y = mycdf(x); + if (isnan(y)) { + b.fail('should not return NaN'); + } + } + } b.toc(); if ( isnan( y ) ) {