diff --git a/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/README.md b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/README.md
new file mode 100644
index 000000000000..0d5064af3248
--- /dev/null
+++ b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/README.md
@@ -0,0 +1,1258 @@
+
+
+# kernel
+
+> Return a kernel for applying a one-dimensional strided array reduction function to an input ndarray and assigning results to an output ndarray.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var kernel = require( '@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked' );
+```
+
+#### kernel( ndims )
+
+Returns a kernel for applying a one-dimensional strided array reduction function to an input ndarray and assigning results to an output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 3, 2, 2 ];
+var ysh = [ 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 4, 2, 1 ];
+var sy = [ 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Resolve a kernel:
+var f = kernel( 2 );
+
+// Perform a reduction:
+f( gsum, [ x, y ], views, [ 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ 10.0, 26.0, 42.0 ] ]
+```
+
+The function accepts the following arguments:
+
+- **ndims**: number of loop dimensions.
+
+If the function is provided an `ndims` value greater than the maximum number of supported loop dimensions, the function returns `null`.
+
+```javascript
+var f = kernel( 100000 );
+// returns null
+```
+
+The returned function accepts the following arguments:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+The returned function iterates over ndarray elements according to the memory layout of the input ndarray.
+
+
+
+#### kernel.kernel0d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over a list of specified dimensions in an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+var ybuf = new Float64Array( [ 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 2, 2 ];
+var ysh = [];
+
+// Define the array strides:
+var sx = [ 2, 1 ];
+var sy = [ 0 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel0d( gsum, [ x, y ], [], [], strategy, {} );
+
+var v = y.data;
+// returns [ 10.0 ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have zero elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+The `views` and `strides` parameters are unused. Providing empty arrays for these parameters is recommended in order to ensure a monomorphic API.
+
+
+
+#### kernel.kernel1d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 3, 2, 2 ];
+var ysh = [ 3 ];
+
+// Define the array strides:
+var sx = [ 4, 2, 1 ];
+var sy = [ 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel1d( gsum, [ x, y ], views, [ 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ 10.0, 26.0, 42.0 ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have one element.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel2d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 3, 2, 2 ];
+var ysh = [ 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 4, 2, 1 ];
+var sy = [ 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel2d( gsum, [ x, y ], views, [ 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ 10.0, 26.0, 42.0 ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have two elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel3d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel3d( gsum, [ x, y ], views, [ 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ 10.0, 26.0, 42.0 ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have three elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel4d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel4d( gsum, [ x, y ], views, [ 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have four elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel5d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel5d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have five elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel6d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel6d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have six elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel7d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel7d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have seven elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel8d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel8d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have eight elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel9d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel9d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have nine elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+#### kernel.kernel10d( fcn, arrays, views, strides, strategy, options )
+
+
+
+Performs a reduction over an input ndarray and assigns results to a provided output ndarray.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Define a reshape strategy:
+function strategy( x ) {
+ return {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 4 ],
+ 'strides': [ 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ };
+}
+
+// Perform a reduction:
+kernel.kernel10d( gsum, [ x, y ], views, [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4 ], strategy, {} );
+
+var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
+// returns [ [ [ [ [ [ [ [ [ [ 10.0, 26.0, 42.0 ] ] ] ] ] ] ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: wrapper for a one-dimensional strided array reduction function.
+- **arrays**: array containing one input ndarray [descriptor][@stdlib/ndarray/base/descriptor] and one output ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **strides**: loop dimension strides for the input ndarray. Should have ten elements.
+- **strategy**: input ndarray reshape strategy.
+- **options**: function options which are passed through to `fcn`.
+
+
+
+
+
+
+
+## Notes
+
+- The output ndarray is expected to have the same dimensions as the non-reduced dimensions of the input ndarray.
+
+- Any additional ndarray arguments are expected to have the same leading dimensions as the non-reduced dimensions of the input ndarray.
+
+- When calling the reduction function, any additional ndarray arguments are provided as k-dimensional subarrays, where `k = M - N` with `M` being the number of dimensions in an ndarray argument and `N` being the number of non-reduced dimensions in the input ndarray. For example, if an input ndarray has three dimensions, the number of reduced dimensions is two, and an additional ndarray argument has one dimension, thus matching the number of non-reduced dimensions in the input ndarray, the reduction function is provided a zero-dimensional subarray as an additional ndarray argument. In the same scenario but where an additional ndarray argument has two dimensions, thus exceeding the number of non-reduced dimensions in the input ndarray, the reduction function is provided a one-dimensional subarray as an additional ndarray argument.
+
+- The reduction function is expected to have the following signature:
+
+ ```text
+ fcn( arrays[, options] )
+ ```
+
+ where
+
+ - **arrays**: array containing a one-dimensional subarray of the input ndarray and any additional ndarray arguments as subarrays.
+ - **options**: function options (_optional_).
+
+- For very high-dimensional ndarrays which are non-contiguous, one should consider copying the underlying data to contiguous memory before performing a reduction in order to achieve better performance.
+
+
+
+
+
+
+
+## Examples
+
+
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var gsum = require( '@stdlib/blas/ext/base/ndarray/gsum' );
+var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
+var kernel = require( '@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked' );
+
+// Create data buffers:
+var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
+var ybuf = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+
+// Define the array shapes:
+var xsh = [ 1, 1, 1, 1, 3, 2, 2 ];
+var ysh = [ 1, 1, 1, 1, 3 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 12, 12, 4, 2, 1 ];
+var sy = [ 3, 3, 3, 3, 1 ];
+
+// Define the index offsets:
+var ox = 0;
+var oy = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an output ndarray descriptor:
+var y = {
+ 'dtype': 'float64',
+ 'data': ybuf,
+ 'shape': ysh,
+ 'strides': sy,
+ 'offset': oy,
+ 'order': 'row-major'
+};
+
+// Initialize ndarray descriptors representing subarray views:
+var views = [
+ {
+ 'dtype': x.dtype,
+ 'data': x.data,
+ 'shape': [ 2, 2 ],
+ 'strides': [ 2, 1 ],
+ 'offset': x.offset,
+ 'order': x.order
+ }
+];
+
+// Resolve a reshape strategy for iterating over subarray views:
+var strategyX = strategy( views[ 0 ] ).input;
+
+// Resolve a kernel:
+var f = kernel( 5 );
+
+// Perform a reduction:
+f( gsum, [ x, y ], views, [ 12, 12, 12, 12, 4 ], strategyX, {} );
+
+console.log( ndarray2array( x.data, x.shape, x.strides, x.offset, x.order ) );
+console.log( ndarray2array( y.data, y.shape, y.strides, y.offset, y.order ) );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+[@stdlib/ndarray/base/descriptor]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/ndarray/base/descriptor
+
+
+
+
diff --git a/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/docs/repl.txt b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/docs/repl.txt
new file mode 100644
index 000000000000..e9b21b97f550
--- /dev/null
+++ b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/unary-reduce-strided1d/unblocked/docs/repl.txt
@@ -0,0 +1,328 @@
+
+{{alias}}( ndims )
+ Returns a kernel for applying a one-dimensional strided array reduction
+ function to an input ndarray and assigning results to an output ndarray.
+
+ The returned function has the following parameters:
+
+ - fcn: wrapper for a one-dimensional strided array reduction function.
+ - arrays: array containing one input ndarray descriptor and one output
+ ndarray descriptor, followed by any additional ndarray arguments.
+ - views: initialized ndarray descriptors representing subarray views.
+ - strides: loop dimension strides for the input ndarray.
+ - strategy: input ndarray reshape strategy.
+ - options: function options which are passed through to `fcn`.
+
+ If `ndims` is greater than the maximum supported number of loop dimensions,
+ the function returns `null`.
+
+ Parameters
+ ----------
+ ndims: integer
+ Number of loop dimensions.
+
+ Returns
+ -------
+ fcn: Function|null
+ Kernel function.
+
+ Examples
+ --------
+ > var f = {{alias}}( 2 )
+
+
+
+{{alias}}.kernel0d( fcn, arr, views, sx, strategy, opts )
+ Performs a reduction over a list of specified dimensions in an input ndarray
+ and assigns results to a provided output ndarray.
+
+ The `views` and `sx` parameters are unused. Providing empty arrays for these
+ parameters is recommended in order to ensure a monomorphic API.
+
+ Parameters
+ ----------
+ fcn: Function
+ Wrapper for a one-dimensional strided array reduction function.
+
+ arr: Array