From 95207e92bdbe9dd78d9e31bb681f4d629358633c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 3 May 2026 13:30:10 +0000 Subject: [PATCH 1/2] fix: correct C delegation across `stats/strided/*` Propagates fix from ec1d66c (`fix: correct C delegation and benchmark inputs in stats/strided/dpcorr`) to sibling packages where an `_ndarray` function delegates to another `_ndarray` without `API_SUFFIX(...)` wrapping, plus the analogous `x`/`y` benchmark mix-up in `stats/strided/dpcorrwd`. --- .../@stdlib/stats/strided/distances/deuclidean/src/main.c | 2 +- .../@stdlib/stats/strided/distances/dminkowski/src/main.c | 6 +++--- .../stats/strided/distances/dsquared-euclidean/src/main.c | 2 +- .../stats/strided/dpcorrwd/benchmark/c/benchmark.length.c | 2 +- lib/node_modules/@stdlib/stats/strided/dsmean/src/main.c | 2 +- lib/node_modules/@stdlib/stats/strided/dsmeanors/src/main.c | 2 +- lib/node_modules/@stdlib/stats/strided/dsmeanpw/src/main.c | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/strided/distances/deuclidean/src/main.c b/lib/node_modules/@stdlib/stats/strided/distances/deuclidean/src/main.c index 0cfcf4abf902..f314addd072b 100644 --- a/lib/node_modules/@stdlib/stats/strided/distances/deuclidean/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/distances/deuclidean/src/main.c @@ -53,5 +53,5 @@ double API_SUFFIX(stdlib_strided_deuclidean_ndarray)( const CBLAS_INT N, const d if ( N <= 0 ) { return 0.0/0.0; // NaN } - return stdlib_strided_drrss_ndarray( N, X, strideX, offsetX, Y, strideY, offsetY ); + return API_SUFFIX(stdlib_strided_drrss_ndarray)( N, X, strideX, offsetX, Y, strideY, offsetY ); } diff --git a/lib/node_modules/@stdlib/stats/strided/distances/dminkowski/src/main.c b/lib/node_modules/@stdlib/stats/strided/distances/dminkowski/src/main.c index be25e511d415..ea510f39ecab 100644 --- a/lib/node_modules/@stdlib/stats/strided/distances/dminkowski/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/distances/dminkowski/src/main.c @@ -67,13 +67,13 @@ double API_SUFFIX(stdlib_strided_dminkowski_ndarray)( const CBLAS_INT N, const d return 0.0 / 0.0; // NaN } if ( p == 1.0 ) { - return stdlib_strided_dcityblock_ndarray( N, X, strideX, offsetX, Y, strideY, offsetY ); + return API_SUFFIX(stdlib_strided_dcityblock_ndarray)( N, X, strideX, offsetX, Y, strideY, offsetY ); } if ( p == 2.0 ) { - return stdlib_strided_deuclidean_ndarray( N, X, strideX, offsetX, Y, strideY, offsetY ); + return API_SUFFIX(stdlib_strided_deuclidean_ndarray)( N, X, strideX, offsetX, Y, strideY, offsetY ); } if ( p == STDLIB_CONSTANT_FLOAT64_PINF ) { - return stdlib_strided_dchebyshev_ndarray( N, X, strideX, offsetX, Y, strideY, offsetY ); + return API_SUFFIX(stdlib_strided_dchebyshev_ndarray)( N, X, strideX, offsetX, Y, strideY, offsetY ); } ox = offsetX; oy = offsetY; diff --git a/lib/node_modules/@stdlib/stats/strided/distances/dsquared-euclidean/src/main.c b/lib/node_modules/@stdlib/stats/strided/distances/dsquared-euclidean/src/main.c index 88780a33c990..de510eeb897c 100644 --- a/lib/node_modules/@stdlib/stats/strided/distances/dsquared-euclidean/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/distances/dsquared-euclidean/src/main.c @@ -53,5 +53,5 @@ double API_SUFFIX(stdlib_strided_dsquared_euclidean_ndarray)( const CBLAS_INT N, if ( N <= 0 ) { return 0.0/0.0; // NaN } - return stdlib_strided_drss_ndarray( N, X, strideX, offsetX, Y, strideY, offsetY ); + return API_SUFFIX(stdlib_strided_drss_ndarray)( N, X, strideX, offsetX, Y, strideY, offsetY ); } diff --git a/lib/node_modules/@stdlib/stats/strided/dpcorrwd/benchmark/c/benchmark.length.c b/lib/node_modules/@stdlib/stats/strided/dpcorrwd/benchmark/c/benchmark.length.c index 1d735b3bc491..378e7ae7d1a9 100644 --- a/lib/node_modules/@stdlib/stats/strided/dpcorrwd/benchmark/c/benchmark.length.c +++ b/lib/node_modules/@stdlib/stats/strided/dpcorrwd/benchmark/c/benchmark.length.c @@ -152,7 +152,7 @@ static double benchmark2( int iterations, int len ) { c = 0.0; t = tic(); for ( i = 0; i < iterations; i++ ) { - c = stdlib_strided_dpcorrwd_ndarray( len, x, 1, 0, x, 1, 0 ); + c = stdlib_strided_dpcorrwd_ndarray( len, x, 1, 0, y, 1, 0 ); if ( c != c ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/stats/strided/dsmean/src/main.c b/lib/node_modules/@stdlib/stats/strided/dsmean/src/main.c index 7ac938eab7b4..cc78c84d59b5 100644 --- a/lib/node_modules/@stdlib/stats/strided/dsmean/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/dsmean/src/main.c @@ -44,5 +44,5 @@ double API_SUFFIX(stdlib_strided_dsmean)( const CBLAS_INT N, const float *X, con * @return output value */ double API_SUFFIX(stdlib_strided_dsmean_ndarray)( const CBLAS_INT N, const float *X, const CBLAS_INT strideX, const CBLAS_INT offsetX ) { - return stdlib_strided_dsmeanpn_ndarray( N, X, strideX, offsetX ); + return API_SUFFIX(stdlib_strided_dsmeanpn_ndarray)( N, X, strideX, offsetX ); } diff --git a/lib/node_modules/@stdlib/stats/strided/dsmeanors/src/main.c b/lib/node_modules/@stdlib/stats/strided/dsmeanors/src/main.c index 593d48714df8..6acb17ab1e43 100644 --- a/lib/node_modules/@stdlib/stats/strided/dsmeanors/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/dsmeanors/src/main.c @@ -50,5 +50,5 @@ double API_SUFFIX(stdlib_strided_dsmeanors_ndarray)( const CBLAS_INT N, const fl if ( N == 1 || strideX == 0 ) { return X[ offsetX ]; } - return stdlib_strided_dssumors_ndarray( N, X, strideX, offsetX ) / (double)N; + return API_SUFFIX(stdlib_strided_dssumors_ndarray)( N, X, strideX, offsetX ) / (double)N; } diff --git a/lib/node_modules/@stdlib/stats/strided/dsmeanpw/src/main.c b/lib/node_modules/@stdlib/stats/strided/dsmeanpw/src/main.c index 15ca55a76846..568e4e526fd5 100644 --- a/lib/node_modules/@stdlib/stats/strided/dsmeanpw/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/dsmeanpw/src/main.c @@ -50,5 +50,5 @@ double API_SUFFIX(stdlib_strided_dsmeanpw_ndarray)( const CBLAS_INT N, const flo if ( N == 1 || strideX == 0 ) { return X[ offsetX ]; } - return stdlib_strided_dssumpw_ndarray( N, X, strideX, offsetX ) / (double)N; + return API_SUFFIX(stdlib_strided_dssumpw_ndarray)( N, X, strideX, offsetX ) / (double)N; } From 1d7a274c3e0137cccc99a83a9585aa326058c67e Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 3 May 2026 13:30:15 +0000 Subject: [PATCH 2/2] style: resolve lint error in `ndarray/ctor` Propagates fix from acd2375e (`style: resolve lint error in ndarray/fancy`) to the sibling `ndarray/ctor` `get_nd` test, replacing `new Array( shape.length )` plus indexed assignment with `[]` plus `push()` to clear the `no-new-Array-with-non-literal` lint rule. --- .../@stdlib/ndarray/ctor/test/test.instance.get_nd.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/ndarray/ctor/test/test.instance.get_nd.js b/lib/node_modules/@stdlib/ndarray/ctor/test/test.instance.get_nd.js index 9e0e69d7d2ea..81f452b86142 100644 --- a/lib/node_modules/@stdlib/ndarray/ctor/test/test.instance.get_nd.js +++ b/lib/node_modules/@stdlib/ndarray/ctor/test/test.instance.get_nd.js @@ -78,15 +78,18 @@ tape( 'an ndarray constructor returns an instance which has a `get` method which function badValue( value, dim ) { return function badValue() { - var args = new Array( shape.length ); + var args; + var v; var i; - for ( i = 0; i < args.length; i++ ) { + args = []; + for ( i = 0; i < shape.length; i++ ) { if ( i === dim ) { - args[ i ] = value; + v = value; } else { - args[ i ] = 0; + v = 0; } + args.push( v ); } arr.get.apply( arr, args ); };