function strided( arrays, shape, strides, offsets, fcn, clbk, thisArg ) {
		var nargs;
		var args;
		var fctx;
		var idx;
		var cb;
		var M;
		var N;
		var f;
		var s;
		var o;
		var v;
		var i;
		var j;

		nargs = arguments.length;
		if ( nargs === 7 ) {
			o = offsets;
			f = fcn;
			cb = clbk;
			fctx = thisArg;
		} else if ( nargs === 4 ) {
			cb = offsets;
		} else if ( nargs === 5 ) {
			if ( isArray( offsets ) ) {
				o = offsets;
				cb = fcn;
			} else if ( isFunction( offsets ) && isFunction( fcn ) ) {
				f = offsets;
				cb = fcn;
			} else {
				cb = offsets;
				fctx = fcn;
			}
		} else if ( nargs === 6 ) {
			if ( isArray( offsets ) ) {
				o = offsets;
				if ( isFunction( fcn ) && isFunction( clbk ) ) {
					f = fcn;
					cb = clbk;
				} else {
					cb = fcn;
					fctx = clbk;
				}
			} else {
				f = offsets;
				cb = fcn;
				fctx = clbk;
			}
		}
		N = shape[ 0 ];
		M = arrays.length;
		idx = [];
		if ( o ) {
			for ( j = 0; j < M; j++ ) {
				idx.push( o[ j ] );
			}
		} else {
			for ( j = 0; j < M; j++ ) {
				s = strides[ j ];
				if ( s < 0 ) {
					idx.push( (1-N)*s );
				} else {
					idx.push( 0 );
				}
			}
		}
		args = [];
		for ( j = 0; j < M; j++ ) {
			args.push( 0 );
		}
		if ( f ) {
			for ( i = 0; i < N; i++ ) {
				for ( j = 0; j < M; j++ ) {
					args[ j ] = arrays[ j ][ idx[ j ] ];
				}
				v = cb.call( fctx, args, i, idx, arrays );
				if ( v !== void 0 ) {
					ctx.sum += f.apply( null, v );
				}
				for ( j = 0; j < M; j++ ) {
					idx[ j ] += strides[ j ];
				}
			}
		} else {
			for ( i = 0; i < N; i++ ) {
				for ( j = 0; j < M; j++ ) {
					args[ j ] = arrays[ j ][ idx[ j ] ];
				}
				v = cb.call( fctx, args, i, idx, arrays );
				if ( v !== void 0 ) {
					for ( j = 0; j < M; j++ ) {
						ctx.sum += v[ j ];
					}
				}
				for ( j = 0; j < M; j++ ) {
					idx[ j ] += strides[ j ];
				}
			}
		}
	}
Strided array function.

@private
@param {Array<Collection>} arrays - strided arrays
@param {IntegerArray} shape - array containing the number of indexed elements
@param {IntegerArray} strides - strides
@param {NonNegativeIntegerArray} [offsets] - offsets
@param {Function} [fcn] - callback
@param {Function} clbk - callback
@param {*} [thisArg] - callback execution context