diff --git a/lib/node_modules/@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear/README.md b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear/README.md
new file mode 100644
index 000000000000..13bcdbe022de
--- /dev/null
+++ b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear/README.md
@@ -0,0 +1,458 @@
+
+
+# kernel
+
+> Return a kernel for applying a one-dimensional strided array function to an input ndarray according to a callback function using linear view iteration.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var kernel = require( '@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear' );
+```
+
+#### kernel( ndims )
+
+Returns a kernel for applying a one-dimensional strided array function to an input ndarray according to a callback function using linear view iteration.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var zeros = require( '@stdlib/array/base/zeros' );
+var gfillBy = require( '@stdlib/blas/ext/base/ndarray/gfill-by' );
+var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
+
+function clbk( value, idx ) {
+ return ( idx[ 1 ]*100 ) + ( idx[ 2 ]*10 ) + idx[ 3 ];
+}
+
+// Create a data buffer:
+var xbuf = new Float64Array( 12 );
+
+// Define the array shape:
+var xsh = [ 1, 3, 2, 2 ];
+
+// Define the array strides:
+var sx = [ 12, 4, 2, 1 ];
+
+// Define the index offset:
+var ox = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the starting index (inclusive):
+var start = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 0.0 ] ),
+ 'shape': [ 1, 3 ],
+ 'strides': [ 0, 0 ],
+ 'offset': 0,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the ending index (exclusive):
+var end = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 4.0 ] ),
+ 'shape': [ 1, 3 ],
+ 'strides': [ 0, 0 ],
+ 'offset': 0,
+ '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
+ },
+ {
+ 'dtype': start.dtype,
+ 'data': start.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': start.offset,
+ 'order': start.order
+ },
+ {
+ 'dtype': end.dtype,
+ 'data': end.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': end.offset,
+ 'order': end.order
+ }
+];
+
+// Resolve an input strategy when iterating over subarray views:
+var strategyX = strategy( views[ 0 ] );
+
+// Create a workspace array for storing iteration indices:
+var ibuf = zeros( xsh.length );
+
+// Define the loop and core dimensions:
+var ldims = [ 0, 1 ];
+var cdims = [ 2, 3 ];
+
+// Resolve a kernel:
+var f = kernel( 2 );
+
+// Apply strided function:
+f( gfillBy, [ x, start, end ], x, views, [ 1, 3 ], [ 12, 4 ], strategyX, ibuf, ldims, cdims, {}, false, clbk, {} );
+
+var arr = ndarray2array( x.data, x.shape, x.strides, x.offset, x.order );
+// returns [ [ [ [ 0.0, 1.0 ], [ 10.0, 11.0 ] ], [ [ 100.0, 101.0 ], [ 110.0, 111.0 ] ], [ [ 200.0, 201.0 ], [ 210.0, 211.0 ] ] ] ]
+```
+
+The function accepts the following arguments:
+
+- **ndims**: number of loop dimensions.
+
+If the function is provided an `ndims` value less than or equal to `0`, the function returns `null`.
+
+```javascript
+var f = kernel( -1 );
+// returns null
+```
+
+The returned function accepts the following arguments:
+
+- **fcn**: function which will be applied to a one-dimensional input subarray according to a callback function.
+- **arrays**: array containing an input ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **ref**: original input ndarray provided to a callback function.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **shape**: loop dimensions.
+- **stridesX**: loop dimension strides for the input ndarray.
+- **strategyX**: strategy for marshaling data to and from an input ndarray view.
+- **ibuf**: workspace for storing iteration indices.
+- **ldims**: list of loop dimensions.
+- **cdims**: list of "core" dimensions.
+- **options**: function options which are passed through to `fcn`.
+- **hasOpts**: boolean indicating whether to pass an options argument to a strided array function.
+- **clbk**: callback function.
+- **thisArg**: callback execution context.
+
+The returned function iterates over ndarray elements according to the linear **view** index, regardless as to how the data is stored in memory.
+
+
+
+#### kernel.nd( fcn, arrays, ref, views, shape, stridesX, strategyX, ibuf, ldims, cdims, options, hasOpts, clbk, thisArg )
+
+
+
+Applies a one-dimensional strided array function to an n-dimensional input ndarray according to a callback function using linear view iteration.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var zeros = require( '@stdlib/array/base/zeros' );
+var gfillBy = require( '@stdlib/blas/ext/base/ndarray/gfill-by' );
+var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
+
+function clbk( value, idx ) {
+ return ( idx[ 1 ]*100 ) + ( idx[ 2 ]*10 ) + idx[ 3 ];
+}
+
+// Create a data buffer:
+var xbuf = new Float64Array( 12 );
+
+// Define the array shape:
+var xsh = [ 1, 3, 2, 2 ];
+
+// Define the array strides:
+var sx = [ 12, 4, 2, 1 ];
+
+// Define the index offset:
+var ox = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the starting index (inclusive):
+var start = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 0.0 ] ),
+ 'shape': [ 1, 3 ],
+ 'strides': [ 0, 0 ],
+ 'offset': 0,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the ending index (exclusive):
+var end = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 4.0 ] ),
+ 'shape': [ 1, 3 ],
+ 'strides': [ 0, 0 ],
+ 'offset': 0,
+ '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
+ },
+ {
+ 'dtype': start.dtype,
+ 'data': start.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': start.offset,
+ 'order': start.order
+ },
+ {
+ 'dtype': end.dtype,
+ 'data': end.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': end.offset,
+ 'order': end.order
+ }
+];
+
+// Resolve an input strategy when iterating over subarray views:
+var strategyX = strategy( views[ 0 ] );
+
+// Create a workspace array for storing iteration indices:
+var ibuf = zeros( xsh.length );
+
+// Define the loop and core dimensions:
+var ldims = [ 0, 1 ];
+var cdims = [ 2, 3 ];
+
+// Apply strided function:
+kernel.nd( gfillBy, [ x, start, end ], x, views, [ 1, 3 ], [ 12, 4 ], strategyX, ibuf, ldims, cdims, {}, false, clbk, {} );
+
+var arr = ndarray2array( x.data, x.shape, x.strides, x.offset, x.order );
+// returns [ [ [ [ 0.0, 1.0 ], [ 10.0, 11.0 ] ], [ [ 100.0, 101.0 ], [ 110.0, 111.0 ] ], [ [ 200.0, 201.0 ], [ 210.0, 211.0 ] ] ] ]
+```
+
+The function has the following parameters:
+
+- **fcn**: function which will be applied to a one-dimensional input subarray according to a callback function.
+- **arrays**: array containing an input ndarray [descriptor][@stdlib/ndarray/base/descriptor], followed by any additional ndarray arguments.
+- **ref**: original input ndarray provided to a callback function.
+- **views**: initialized ndarray [descriptors][@stdlib/ndarray/base/descriptor] representing subarray views.
+- **shape**: loop dimensions.
+- **stridesX**: loop dimension strides for the input ndarray.
+- **strategyX**: strategy for marshaling data to and from an input ndarray view.
+- **ibuf**: workspace for storing iteration indices.
+- **ldims**: list of loop dimensions.
+- **cdims**: list of "core" dimensions.
+- **options**: function options which are passed through to `fcn`.
+- **hasOpts**: boolean indicating whether to pass an options argument to a strided array function.
+- **clbk**: callback function.
+- **thisArg**: callback execution context.
+
+
+
+
+
+
+
+## Notes
+
+- The strided array function is expected to have the following signature:
+
+ ```text
+ fcn( arrays[, options], clbk )
+ ```
+
+ where
+
+ - **arrays**: array containing a one-dimensional subarray of the input ndarray and any additional ndarray arguments as subarrays.
+ - **options**: function options (_optional_).
+ - **clbk**: callback function.
+
+- The callback function is provided the following arguments:
+
+ - **value**: current array element.
+ - **idx**: current array element indices.
+ - **arr**: the original input ndarray.
+
+
+
+
+
+
+
+## Examples
+
+
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var zeros = require( '@stdlib/array/base/zeros' );
+var gfillBy = require( '@stdlib/blas/ext/base/ndarray/gfill-by' );
+var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
+var kernel = require( '@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear' );
+
+function clbk( value, idx ) {
+ return ( idx[ 2 ]*100 ) + ( idx[ 3 ]*10 ) + idx[ 4 ];
+}
+
+// Create a data buffer:
+var xbuf = new Float64Array( 12 );
+
+// Define the array shape:
+var xsh = [ 1, 1, 3, 2, 2 ];
+
+// Define the array strides:
+var sx = [ 12, 12, 4, 2, 1 ];
+
+// Define the index offset:
+var ox = 0;
+
+// Create an input ndarray descriptor:
+var x = {
+ 'dtype': 'float64',
+ 'data': xbuf,
+ 'shape': xsh,
+ 'strides': sx,
+ 'offset': ox,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the starting index (inclusive):
+var start = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 0.0 ] ),
+ 'shape': [ 1, 1, 3 ],
+ 'strides': [ 0, 0, 0 ],
+ 'offset': 0,
+ 'order': 'row-major'
+};
+
+// Create an ndarray descriptor for the ending index (exclusive):
+var end = {
+ 'dtype': 'float64',
+ 'data': new Float64Array( [ 4.0 ] ),
+ 'shape': [ 1, 1, 3 ],
+ 'strides': [ 0, 0, 0 ],
+ 'offset': 0,
+ '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
+ },
+ {
+ 'dtype': start.dtype,
+ 'data': start.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': start.offset,
+ 'order': start.order
+ },
+ {
+ 'dtype': end.dtype,
+ 'data': end.data,
+ 'shape': [],
+ 'strides': [ 0 ],
+ 'offset': end.offset,
+ 'order': end.order
+ }
+];
+
+// Resolve an input strategy when iterating over subarray views:
+var strategyX = strategy( views[ 0 ] );
+
+// Create a workspace array for storing iteration indices:
+var ibuf = zeros( xsh.length );
+
+// Define the loop and core dimensions:
+var ldims = [ 0, 1, 2 ];
+var cdims = [ 3, 4 ];
+
+// Resolve a kernel:
+var f = kernel( 3 );
+
+// Apply strided function:
+f( gfillBy, [ x, start, end ], x, views, [ 1, 1, 3 ], [ 12, 12, 4 ], strategyX, ibuf, ldims, cdims, {}, false, clbk, {} );
+
+console.log( ndarray2array( x.data, x.shape, x.strides, x.offset, x.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/nullary-strided1d-by/linear/docs/repl.txt b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear/docs/repl.txt
new file mode 100644
index 000000000000..f5d3b71d0c95
--- /dev/null
+++ b/lib/node_modules/@stdlib/ndarray/base/kernels/generic/nullary-strided1d-by/linear/docs/repl.txt
@@ -0,0 +1,101 @@
+
+{{alias}}( ndims )
+ Returns a kernel for applying a one-dimensional strided array function to an
+ input ndarray according to a callback function using linear view iteration.
+
+ The returned function has the following parameters:
+
+ - fcn: function which will be applied to a one-dimensional input subarray
+ according to a callback function.
+ - arrays: array containing an input ndarray descriptor, followed by any
+ additional ndarray arguments.
+ - ref: original input ndarray provided to a callback function.
+ - views: initialized ndarray descriptors representing subarray views.
+ - shape: loop dimensions.
+ - stridesX: loop dimension strides for the input ndarray.
+ - strategyX: strategy for marshaling data to and from an input ndarray view.
+ - ibuf: workspace for storing iteration indices.
+ - ldims: list of loop dimensions.
+ - cdims: list of "core" dimensions.
+ - options: function options which are passed through to `fcn`.
+ - hasOpts: boolean indicating whether to pass an options argument to a
+ strided array function.
+ - clbk: callback function.
+ - thisArg: callback execution context.
+
+ The returned function iterates based on the linear view index, regardless as
+ to how the data is stored in memory.
+
+ If `ndims` is less than or equal to `0`, the function returns `null`.
+
+ Parameters
+ ----------
+ ndims: integer
+ Number of loop dimensions.
+
+ Returns
+ -------
+ fcn: Function|null
+ Kernel function.
+
+ Examples
+ --------
+ > var f = {{alias}}( 2 )
+
+
+
+{{alias}}.nd( fcn, arr, ref, v, sh, sx, st, ib, ld, cd, o, po, cb, ctx )
+ Applies a one-dimensional strided array function to an n-dimensional input
+ ndarray according to a callback function using linear view iteration.
+
+ The function iterates based on the linear view index, regardless as to how
+ the data is stored in memory.
+
+ Parameters
+ ----------
+ fcn: Function
+ Wrapper for a one-dimensional strided array function.
+
+ arr: Array