From c718a4c97014b543f688d3543645e7eb26a101ae Mon Sep 17 00:00:00 2001 From: Mohammad Tamer Date: Sat, 8 Feb 2025 23:58:53 +0200 Subject: [PATCH] Resolves #4982 by improving benchmark accuracy and performance. --- .../pareto-type1/cdf/benchmark/benchmark.js | 43 ++++++++----------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/cdf/benchmark/benchmark.js index 9d1075ccfbcc..adb2160459ec 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/pareto-type1/cdf/benchmark/benchmark.js @@ -31,22 +31,19 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var alpha; - var beta; + var alpha = uniform( EPS, 100.0 ); + var beta = uniform( EPS, 100.0 ); var x; var y; var i; - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*20.0 ) + EPS; - alpha = ( randu()*100.0 ) + EPS; - beta = ( randu()*100.0 ) + EPS; - y = cdf( x, alpha, beta ); - if ( isnan( y ) ) { - b.fail( 'should not return NaN' ); - } - } + for ( i = 0; i < b.iterations; i++ ) { + x = uniform( EPS, 20.0 ); + y = cdf( x, alpha, beta ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } b.toc(); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); @@ -56,25 +53,21 @@ bench( pkg, function benchmark( b ) { }); bench( pkg+':factory', function benchmark( b ) { - var mycdf; - var alpha; - var beta; + var alpha = 100.56789; + var beta = 55.54321; + var mycdf = cdf.factory( alpha, beta ); var x; var y; var i; - alpha = 100.56789; - beta = 55.54321; - mycdf = cdf.factory( alpha, beta ); - b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*50.0 ) + EPS; - y = mycdf( x ); - if ( isnan( y ) ) { - b.fail( 'should not return NaN' ); - } - } + x = uniform( EPS, 50.0 ); + y = mycdf( x ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } b.toc(); if ( isnan( y ) ) { b.fail( 'should not return NaN' );