diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/README.md b/lib/node_modules/@stdlib/stats/strided/nancumin/README.md
new file mode 100644
index 000000000000..66401d094e79
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/README.md
@@ -0,0 +1,185 @@
+
+
+# nancumin
+
+> Calculate the cumulative minimum of a strided array, ignoring `NaN` values.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var nancumin = require( '@stdlib/stats/strided/nancumin' );
+```
+
+#### nancumin( N, x, strideX, y, strideY )
+
+Computes the cumulative minimum of a strided array `x`, ignoring `NaN` values.
+
+```javascript
+var x = [ 1.0, -2.0, NaN, 2.0 ];
+var y = [ 0.0, 0.0, 0.0, 0.0 ];
+
+var v = nancumin( x.length, x, 1, y, 1 );
+// returns [ 1.0, -2.0, -2.0, -2.0 ]
+```
+
+The function has the following parameters:
+
+- **N**: number of indexed elements.
+- **x**: input [`Array`][mdn-array] or [`typed array`][mdn-typed-array].
+- **strideX**: stride length for `x`.
+- **y**: output [`Array`][mdn-array] or [`typed array`][mdn-typed-array].
+- **strideY**: stride length for `y`.
+
+The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the cumulative minimum of every other element in `x`,
+
+```javascript
+var x = [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0, NaN, NaN ];
+var y = [ 0.0, 0.0, 0.0, 0.0, 0.0 ];
+
+var v = nancumin( 5, x, 2, y, 1 );
+// returns [ 1.0, 1.0, -2.0, -2.0, -2.0 ]
+```
+
+Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+
+var x0 = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, NaN, NaN, 4.0 ] );
+var y0 = new Float64Array( 4 );
+var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
+var y1 = new Float64Array( y0.buffer, y0.BYTES_PER_ELEMENT*0 );
+
+var v = nancumin( 4, x1, 2, y1, 1 );
+// returns [ 1.0, -2.0, -2.0, -2.0 ]
+```
+
+#### nancumin.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
+
+Computes the cumulative minimum of a strided array, ignoring `NaN` values and using alternative indexing semantics.
+
+```javascript
+var x = [ 1.0, -2.0, NaN, 2.0 ];
+var y = [ 0.0, 0.0, 0.0, 0.0 ];
+
+var v = nancumin.ndarray( x.length, x, 1, 0, y, 1, 0 );
+// returns [ 1.0, -2.0, -2.0, -2.0 ]
+```
+
+The function has the following additional parameters:
+
+- **offsetX**: starting index for `x`.
+- **offsetY**: starting index for `y`.
+
+While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on a starting index. For example, to calculate the cumulative minimum for every other element in `x` starting from the second element
+
+```javascript
+var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, NaN, NaN, 2.0, 3.0, 4.0 ];
+var y = [ 0.0, 0.0, 0.0, 0.0, 0.0 ];
+
+var v = nancumin.ndarray( 5, x, 2, 1, y, 1, 0 );
+// returns [ 1.0, -2.0, -2.0, -2.0, -2.0 ]
+```
+
+
+
+
+
+
+
+## Notes
+
+- If `N <= 0`, both functions return the output array unchanged.
+- Both functions support array-like objects having getter and setter accessors for array element access (e.g., [`@stdlib/array/base/accessor`][@stdlib/array/base/accessor]).
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var uniform = require( '@stdlib/random/base/uniform' );
+var filledarrayBy = require( '@stdlib/array/filled-by' );
+var bernoulli = require( '@stdlib/random/base/bernoulli' );
+var zeros = require( '@stdlib/array/zeros' );
+var nancumin = require( '@stdlib/stats/strided/nancumin' );
+
+function rand() {
+ if ( bernoulli( 0.8 ) < 1 ) {
+ return NaN;
+ }
+ return uniform( -50.0, 50.0 );
+}
+
+var x = filledarrayBy( 10, 'float64', rand );
+console.log( x );
+
+var y = zeros( 10, 'float64' );
+console.log( y );
+
+var v = nancumin( x.length, x, 1, y, 1 );
+console.log( v );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[mdn-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
+
+[mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
+
+[@stdlib/array/base/accessor]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base/accessor
+
+
+
+
+
+
+
+
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.js
new file mode 100644
index 000000000000..59f14b9373e4
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.js
@@ -0,0 +1,112 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var bench = require( '@stdlib/bench' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var uniform = require( '@stdlib/random/base/uniform' );
+var bernoulli = require( '@stdlib/random/base/bernoulli' );
+var filledarrayBy = require( '@stdlib/array/filled-by' );
+var zeros = require( '@stdlib/array/zeros' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var pkg = require( './../package.json' ).name;
+var nancumin = require( './../lib/main.js' );
+
+
+// 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.
+*
+* @private
+* @param {PositiveInteger} len - array length
+* @returns {Function} benchmark function
+*/
+function createBenchmark( len ) {
+ var x = filledarrayBy( len, 'generic', rand );
+ var y = zeros( len, 'generic' );
+ return benchmark;
+
+ /**
+ * Benchmark function.
+ *
+ * @private
+ * @param {Benchmark} b - benchmark instance
+ */
+ function benchmark( b ) {
+ var v;
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ v = nancumin( x.length, x, 1, y, 1 );
+ if ( isnan( v[ 0 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( v[ 0 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+/**
+* Main execution sequence.
+*
+* @private
+*/
+function main() {
+ var len;
+ var min;
+ var max;
+ var f;
+ var i;
+
+ min = 1; // 10^min
+ max = 6; // 10^max
+
+ for ( i = min; i <= max; i++ ) {
+ len = pow( 10, i );
+ f = createBenchmark( len );
+ bench( pkg+':len='+len, f );
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.ndarray.js
new file mode 100644
index 000000000000..9f4c9823d443
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/benchmark/benchmark.ndarray.js
@@ -0,0 +1,112 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var bench = require( '@stdlib/bench' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var uniform = require( '@stdlib/random/base/uniform' );
+var bernoulli = require( '@stdlib/random/base/bernoulli' );
+var filledarrayBy = require( '@stdlib/array/filled-by' );
+var zeros = require( '@stdlib/array/zeros' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var pkg = require( './../package.json' ).name;
+var nancumin = require( './../lib/ndarray.js' );
+
+
+// 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.
+*
+* @private
+* @param {PositiveInteger} len - array length
+* @returns {Function} benchmark function
+*/
+function createBenchmark( len ) {
+ var x = filledarrayBy( len, 'generic', rand );
+ var y = zeros( len, 'generic' );
+ return benchmark;
+
+ /**
+ * Benchmark function.
+ *
+ * @private
+ * @param {Benchmark} b - benchmark instance
+ */
+ function benchmark( b ) {
+ var v;
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ v = nancumin( x.length, x, 1, 0, y, 1, 0 );
+ if ( isnan( v[ 0 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( v[ 0 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+/**
+* Main execution sequence.
+*
+* @private
+*/
+function main() {
+ var len;
+ var min;
+ var max;
+ var f;
+ var i;
+
+ min = 1; // 10^min
+ max = 6; // 10^max
+
+ for ( i = min; i <= max; i++ ) {
+ len = pow( 10, i );
+ f = createBenchmark( len );
+ bench( pkg+':ndarray:len='+len, f );
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/docs/repl.txt b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/repl.txt
new file mode 100644
index 000000000000..c7cbaa1defd0
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/repl.txt
@@ -0,0 +1,110 @@
+
+{{alias}}( N, x, strideX, y, strideY )
+ Computes the cumulative minimum of a strided array, ignoring `NaN` values.
+
+ The `N` and stride parameters determine which elements in the strided array
+ are accessed at runtime.
+
+ Indexing is relative to the first index. To introduce an offset, use a typed
+ array view.
+
+ If `N <= 0`, the function returns the output array unchanged.
+
+ Parameters
+ ----------
+ N: integer
+ Number of indexed elements.
+
+ x: Array|TypedArray
+ Input array.
+
+ strideX: integer
+ Stride length for `x`.
+
+ y: Array|TypedArray
+ Output array.
+
+ strideY: integer
+ Stride length for `y`.
+
+ Returns
+ -------
+ out: Array|TypedArray
+ Output array.
+
+ Examples
+ --------
+ // Standard Usage:
+ > var x = [ 1.0, -2.0, NaN, 2.0 ];
+ > var y = [ 0.0, 0.0, 0.0, 0.0 ];
+ > {{alias}}( x.length, x, 1, y, 1 )
+ [ 1.0, -2.0, -2.0, -2.0 ]
+
+ // Using `N` and stride parameters:
+ > x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0, NaN, NaN ];
+ > y = [ 0.0, 0.0, 0.0, 0.0 ];
+ > {{alias}}( 4, x, 2, y, 1 )
+ [ -2, -2, -2, -2 ]
+
+ // Using view offsets:
+ > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ] );
+ > var y0 = new {{alias:@stdlib/array/float64}}( 4 );
+ > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
+ > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*0 );
+ > {{alias}}( 4, x1, 2, y1, 1 )
+ [ -2.0, -2.0, -2.0, -2.0 ]
+
+
+{{alias}}.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
+ Computes the cumulative minimum of a strided array, ignoring `NaN` values
+ and using alternative indexing semantics.
+
+ While typed array views mandate a view offset based on the underlying
+ buffer, the `offset` parameter supports indexing semantics based on a
+ starting index.
+
+ Parameters
+ ----------
+ N: integer
+ Number of indexed elements.
+
+ x: Array|TypedArray
+ Input array.
+
+ strideX: integer
+ Stride length for `x`.
+
+ offsetX: integer
+ Starting index for `x`.
+
+ y: Array|TypedArray
+ Output array.
+
+ strideY: integer
+ Stride length for `y`.
+
+ offsetY: integer
+ Starting index for `y`.
+
+ Returns
+ -------
+ out: Array|TypedArray
+ Output array.
+
+ Examples
+ --------
+ // Standard Usage:
+ > var x = [ 1.0, -2.0, NaN, 2.0 ];
+ > var y = [ 0.0, 0.0, 0.0, 0.0 ];
+ > {{alias}}.ndarray( x.length, x, 1, 0, y, 1, 0 )
+ [ 1.0, -2.0, -2.0, -2.0 ]
+
+ // Using offset parameter:
+ > var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ];
+ > var y = [ 0.0, 0.0, 0.0, 0.0 ];
+ > {{alias}}.ndarray( 4, x, 2, 1, y, 1, 0 )
+ [ -2.0, -2.0, -2.0, -2.0 ]
+
+ See Also
+ --------
+
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/index.d.ts
new file mode 100644
index 000000000000..d252f97554a5
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/index.d.ts
@@ -0,0 +1,109 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+// TypeScript Version: 4.1
+
+///
+
+import { NumericArray, Collection, AccessorArrayLike } from '@stdlib/types/array';
+
+/**
+* Input array.
+*/
+type InputArray = NumericArray | Collection | AccessorArrayLike;
+
+/**
+* Output array.
+*/
+type OutputArray = NumericArray | Collection | AccessorArrayLike;
+
+/**
+* Interface describing `nancumin`.
+*/
+interface Routine {
+ /**
+ * Computes the cumulative minimum of a strided array, ignoring `NaN` values.
+ *
+ * @param N - number of indexed elements
+ * @param x - input array
+ * @param strideX - stride length for `x`
+ * @param y - output array
+ * @param strideY - stride length for `y`
+ * @returns output array
+ *
+ * @example
+ * var x = [ 1.0, -2.0, NaN, 2.0 ];
+ * var y = [ 0.0, 0.0, 0.0, 0.0 ];
+ *
+ * var v = nancumin( x.length, x, 1, y, 1 );
+ * // returns [ 1.0, -2.0, -2.0, -2.0 ]
+ */
+ ( N: number, x: InputArray, strideX: number, y: OutputArray, strideY: number ): OutputArray;
+
+ /**
+ * Computes the cumulative minimum of a strided array, ignoring `NaN` values and using alternative indexing semantics.
+ *
+ * @param N - number of indexed elements
+ * @param x - input array
+ * @param strideX - stride length for `x`
+ * @param offsetX - starting index for `x`
+ * @param y - output array
+ * @param strideY - stride length for `y`
+ * @param offsetY - starting index for `y`
+ * @returns output array
+ *
+ * @example
+ * var x = [ 1.0, -2.0, NaN, 2.0 ];
+ * var y = [ 0.0, 0.0, 0.0, 0.0 ];
+ *
+ * var v = nancumin.ndarray( x.length, x, 1, 0, y, 1, 0 );
+ * // returns [ 1.0, -2.0, -2.0, -2.0 ]
+ */
+ ndarray( N: number, x: InputArray, strideX: number, offsetX: number, y: OutputArray, strideY: number, offsetY: number ): OutputArray;
+}
+
+/**
+* Computes the cumulative minimum of a strided array, ignoring `NaN` values.
+*
+* @param N - number of indexed elements
+* @param x - input array
+* @param strideX - stride length for `x`
+* @param y - output array
+* @param strideY - stride length for `y`
+* @returns output array
+*
+* @example
+* var x = [ 1.0, -2.0, NaN, 2.0 ];
+* var y = [ 0.0, 0.0, 0.0, 0.0 ];
+*
+* var v = nancumin( x.length, x, 1, y, 1 );
+* // returns [ 1.0, -2.0, -2.0, -2.0 ]
+*
+* @example
+* var x = [ 1.0, -2.0, NaN, 2.0 ];
+* var y = [ 0.0, 0.0, 0.0, 0.0 ];
+*
+* var v = nancumin.ndarray( x.length, x, 1, 0, y, 1, 0 );
+* // returns [ 1.0, -2.0, -2.0, -2.0 ]
+*/
+declare var nancumin: Routine;
+
+
+// EXPORTS //
+
+export = nancumin;
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/test.ts b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/test.ts
new file mode 100644
index 000000000000..2944a7f651d6
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/docs/types/test.ts
@@ -0,0 +1,247 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import AccessorArray = require( '@stdlib/array/base/accessor' );
+import nancumin = require( './index' );
+
+
+// TESTS //
+
+// The function returns an array...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin( x.length, x, 1, y, 1 ); // $ExpectType OutputArray
+ nancumin( x.length, new AccessorArray( x ), 1, new AccessorArray( y ), 1 ); // $ExpectType OutputArray
+}
+
+// The compiler throws an error if the function is provided a first argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin( '10', x, 1, y, 1 ); // $ExpectError
+ nancumin( true, x, 1, y, 1 ); // $ExpectError
+ nancumin( false, x, 1, y, 1 ); // $ExpectError
+ nancumin( null, x, 1, y, 1 ); // $ExpectError
+ nancumin( undefined, x, 1, y, 1 ); // $ExpectError
+ nancumin( [], x, 1, y, 1 ); // $ExpectError
+ nancumin( {}, x, 1, y, 1 ); // $ExpectError
+ nancumin( ( x: number ): number => x, x, 1, y, 1 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a second argument which is not a numeric array...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin( x.length, 10, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, '10', 1, y, 1 ); // $ExpectError
+ nancumin( x.length, true, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, false, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, null, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, undefined, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, {}, 1, y, 1 ); // $ExpectError
+ nancumin( x.length, ( x: number ): number => x, 1, y, 1 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin( x.length, x, '10', y, 1 ); // $ExpectError
+ nancumin( x.length, x, true, y, 1 ); // $ExpectError
+ nancumin( x.length, x, false, y, 1 ); // $ExpectError
+ nancumin( x.length, x, null, y, 1 ); // $ExpectError
+ nancumin( x.length, x, undefined, y, 1 ); // $ExpectError
+ nancumin( x.length, x, [], y, 1 ); // $ExpectError
+ nancumin( x.length, x, {}, y, 1 ); // $ExpectError
+ nancumin( x.length, x, ( x: number ): number => x, y, 1 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is not a numeric array...
+{
+ const x = new Float64Array( 10 );
+
+ nancumin( x.length, x, 1, 10, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, '10', 1 ); // $ExpectError
+ nancumin( x.length, x, 1, true, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, false, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, null, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, undefined, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, {}, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, ( x: number ): number => x, 1 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifth argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin( x.length, x, 1, y, '10' ); // $ExpectError
+ nancumin( x.length, x, 1, y, true ); // $ExpectError
+ nancumin( x.length, x, 1, y, false ); // $ExpectError
+ nancumin( x.length, x, 1, y, null ); // $ExpectError
+ nancumin( x.length, x, 1, y, undefined ); // $ExpectError
+ nancumin( x.length, x, 1, y, [] ); // $ExpectError
+ nancumin( x.length, x, 1, y, {} ); // $ExpectError
+ nancumin( x.length, x, 1, y, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin(); // $ExpectError
+ nancumin( x.length ); // $ExpectError
+ nancumin( x.length, x ); // $ExpectError
+ nancumin( x.length, x, 1 ); // $ExpectError
+ nancumin( x.length, x, 1, y ); // $ExpectError
+ nancumin( x.length, x, 1, y, 1, 10 ); // $ExpectError
+}
+
+// Attached to main export is an `ndarray` method which returns an array...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, 0 ); // $ExpectType OutputArray
+ nancumin.ndarray( x.length, new AccessorArray( x ), 1, 0, new AccessorArray( y ), 1, 0 ); // $ExpectType OutputArray
+}
+
+// The compiler throws an error if the `ndarray` method is provided a first argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( '10', x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( true, x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( false, x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( null, x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( undefined, x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( [], x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( {}, x, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( ( x: number ): number => x, x, 1, 0, y, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a second argument which is not a numeric array...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, 10, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, '10', 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, true, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, false, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, null, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, undefined, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, {}, 1, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, ( x: number ): number => x, 1, 0, y, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a third argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, '10', 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, true, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, false, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, null, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, undefined, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, [], 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, {}, 0, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, ( x: number ): number => x, 0, y, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a fourth argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, 1, '10', y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, true, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, false, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, null, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, undefined, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, [], y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, {}, y, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, ( x: number ): number => x, y, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a fifth argument which is not a numeric array...
+{
+ const x = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, 1, 0, 10, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, '10', 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, true, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, false, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, null, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, undefined, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, {}, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, ( x: number ): number => x, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a sixth argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, 1, 0, y, '10', 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, true, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, false, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, null, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, undefined, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, [], 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, {}, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, ( x: number ): number => x, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided a seventh argument which is not a number...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, '10' ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, true ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, false ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, null ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, undefined ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, [] ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, {} ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the `ndarray` method is provided an unsupported number of arguments...
+{
+ const x = new Float64Array( 10 );
+ const y = new Float64Array( 10 );
+
+ nancumin.ndarray(); // $ExpectError
+ nancumin.ndarray( x.length ); // $ExpectError
+ nancumin.ndarray( x.length, x ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1 ); // $ExpectError
+ nancumin.ndarray( x.length, x, 1, 0, y, 1, 0, 10 ); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/examples/index.js b/lib/node_modules/@stdlib/stats/strided/nancumin/examples/index.js
new file mode 100644
index 000000000000..7e9b66cbcdd6
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/examples/index.js
@@ -0,0 +1,41 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+var uniform = require( '@stdlib/random/base/uniform' );
+var filledarrayBy = require( '@stdlib/array/filled-by' );
+var bernoulli = require( '@stdlib/random/base/bernoulli' );
+var zeros = require( '@stdlib/array/zeros' );
+var nancumin = require( './../lib' );
+
+function rand() {
+ if ( bernoulli( 0.8 ) < 1 ) {
+ return NaN;
+ }
+ return uniform( -50.0, 50.0 );
+}
+
+var x = filledarrayBy( 10, 'float64', rand );
+console.log( x );
+
+var y = zeros( 10, 'float64' );
+console.log( y );
+
+var v = nancumin( x.length, x, 1, y, 1 );
+console.log( v );
diff --git a/lib/node_modules/@stdlib/stats/strided/nancumin/lib/accessors.js b/lib/node_modules/@stdlib/stats/strided/nancumin/lib/accessors.js
new file mode 100644
index 000000000000..403595dc5681
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/strided/nancumin/lib/accessors.js
@@ -0,0 +1,99 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
+
+
+// MAIN //
+
+/**
+* Computes the cumulative minimum of a strided array, ignoring `NaN` values.
+*
+* @private
+* @param {PositiveInteger} N - number of indexed elements
+* @param {Object} x - input array object
+* @param {Collection} x.data - input array data
+* @param {Array} x.accessors - array element accessors
+* @param {integer} strideX - stride length
+* @param {NonNegativeInteger} offsetX - starting index
+* @param {Object} y - output array object
+* @param {Collection} y.data - output array data
+* @param {Array} y.accessors - array element accessors
+* @param {integer} strideY - stride length
+* @param {NonNegativeInteger} offsetY - starting index
+* @returns {Object} output array object
+*
+* @example
+* var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
+* var arraylike2object = require( '@stdlib/array/base/arraylike2object' );
+*
+* var x = toAccessorArray( [ 2.0, 1.0, 2.0, -2.0, NaN, 4.0 ] );
+* var y = toAccessorArray( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
+*
+* var v = nancumin( 6, arraylike2object( x ), 1, 0, arraylike2object( y ), 1, 0 );
+* // returns