From d630f23953b05be40f9a380a50292fd434b362d7 Mon Sep 17 00:00:00 2001 From: Ujjwal Verma Date: Wed, 19 Aug 2026 12:56:58 +0530 Subject: [PATCH] test: update native benchmarks for dnanmean packages --- .../dnanmean/benchmark/benchmark.native.js | 20 +++++++++++++++++-- .../dnanmeanors/benchmark/benchmark.native.js | 20 +++++++++++++++++-- .../dnanmeanwd/benchmark/benchmark.native.js | 20 +++++++++++++++++-- 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmean/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmean/benchmark/benchmark.native.js index 8783f1b9928d..c0266dfddd3c 100644 --- a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmean/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmean/benchmark/benchmark.native.js @@ -22,7 +22,10 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var uniform = require( '@stdlib/random/uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var bernoulli = require( '@stdlib/random/base/bernoulli' ); +var fillBy = require( '@stdlib/ndarray/fill-by' ); +var zeros = require( '@stdlib/ndarray/zeros' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var format = require( '@stdlib/string/format' ); @@ -43,6 +46,19 @@ var options = { // FUNCTIONS // +/** +* Returns a random number. +* +* @private +* @returns {number} random number +*/ +function rand() { + if ( bernoulli( 0.8 ) < 1 ) { + return NaN; + } + return uniform( -10.0, 10.0 ); +} + /** * Creates a benchmark function. * @@ -51,7 +67,7 @@ var options = { * @returns {Function} benchmark function */ function createBenchmark( len ) { - var x = uniform( [ len ], -10.0, 10.0, options ); + var x = fillBy( zeros( [ len ], options ), rand ); return benchmark; /** diff --git a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanors/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanors/benchmark/benchmark.native.js index 8c7c777bd03e..118fe88e4a2a 100644 --- a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanors/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanors/benchmark/benchmark.native.js @@ -22,7 +22,10 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var uniform = require( '@stdlib/random/uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var bernoulli = require( '@stdlib/random/base/bernoulli' ); +var fillBy = require( '@stdlib/ndarray/fill-by' ); +var zeros = require( '@stdlib/ndarray/zeros' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var format = require( '@stdlib/string/format' ); @@ -43,6 +46,19 @@ var options = { // FUNCTIONS // +/** +* Returns a random number. +* +* @private +* @returns {number} random number +*/ +function rand() { + if ( bernoulli( 0.8 ) < 1 ) { + return NaN; + } + return uniform( -10.0, 10.0 ); +} + /** * Creates a benchmark function. * @@ -51,7 +67,7 @@ var options = { * @returns {Function} benchmark function */ function createBenchmark( len ) { - var x = uniform( [ len ], -10.0, 10.0, options ); + var x = fillBy( zeros( [ len ], options ), rand ); return benchmark; /** diff --git a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanwd/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanwd/benchmark/benchmark.native.js index 578855b32420..59bb7a20d0b2 100644 --- a/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanwd/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/ndarray/dnanmeanwd/benchmark/benchmark.native.js @@ -22,7 +22,10 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var uniform = require( '@stdlib/random/uniform' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var bernoulli = require( '@stdlib/random/base/bernoulli' ); +var fillBy = require( '@stdlib/ndarray/fill-by' ); +var zeros = require( '@stdlib/ndarray/zeros' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var format = require( '@stdlib/string/format' ); @@ -43,6 +46,19 @@ var options = { // FUNCTIONS // +/** +* Returns a random number. +* +* @private +* @returns {number} random number +*/ +function rand() { + if ( bernoulli( 0.8 ) < 1 ) { + return NaN; + } + return uniform( -10.0, 10.0 ); +} + /** * Creates a benchmark function. * @@ -51,7 +67,7 @@ var options = { * @returns {Function} benchmark function */ function createBenchmark( len ) { - var x = uniform( [ len ], -10.0, 10.0, options ); + var x = fillBy( zeros( [ len ], options ), rand ); return benchmark; /**