function gcusumors( N, sum, x, strideX, offsetX, y, strideY, offsetY ) {
	var ix;
	var iy;
	var ox;
	var oy;
	var i;

	if ( N <= 0 ) {
		return y;
	}
	ox = arraylike2object( x );
	oy = arraylike2object( y );
	if ( ox.accessorProtocol || oy.accessorProtocol ) {
		accessors( N, sum, ox, strideX, offsetX, oy, strideY, offsetY );
		return y;
	}
	ix = offsetX;
	iy = offsetY;
	for ( i = 0; i < N; i++ ) {
		sum += x[ ix ];
		y[ iy ] = sum;
		ix += strideX;
		iy += strideY;
	}
	return y;
}
Computes the cumulative sum of strided array elements using ordinary recursive summation.

@param {PositiveInteger} N - number of indexed elements
@param {number} sum - initial sum
@param {NumericArray} x - input array
@param {integer} strideX - stride length for `x`
@param {NonNegativeInteger} offsetX - starting index for `x`
@param {NumericArray} y - output array
@param {integer} strideY - stride length for `y`
@param {NonNegativeInteger} offsetY - starting index for `y`
@returns {NumericArray} output array

@example
var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ];
var y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ];

gcusumors( 4, 0.0, x, 2, 1, y, 1, 0 );
// y => [ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ]