function dsort2sh( N, order, x, strideX, offsetX, y, strideY, offsetY ) {
	var viewX;
	var viewY;
	var flg;

	flg = 1.0;
	if ( strideX < 0 ) {
		flg *= -1.0; // reversing order
		order *= -1.0;
		strideX *= -1;
		offsetX -= (N-1) * strideX;
	}
	if ( strideY < 0 ) {
		offsetY += (N-1) * strideY;
	}
	viewX = offsetView( x, offsetX );
	viewY = offsetView( y, offsetY );
	addon( N, order, viewX, strideX, viewY, flg*strideY );
	return x;
}
Simultaneously sorts two double-precision floating-point strided arrays based on the sort order of the first array using Shellsort.

@param {PositiveInteger} N - number of indexed elements
@param {number} order - sort order
@param {Float64Array} x - first input array
@param {integer} strideX - `x` index increment
@param {NonNegativeInteger} offsetX - `x` starting index
@param {Float64Array} y - second input array
@param {integer} strideY - `y` index increment
@param {NonNegativeInteger} offsetY - `y` starting index
@returns {Float64Array} `x`

@example
var Float64Array = require( '@stdlib/array/float64' );

var x = new Float64Array( [ 1.0, -2.0, 3.0, -4.0 ] );
var y = new Float64Array( [ 0.0, 1.0, 2.0, 3.0 ] );

dsort2sh( x.length, 1.0, x, 1, 0, y, 1, 0 );

console.log( x );
// => <Float64Array>[ -4.0, -2.0, 1.0, 3.0 ]

console.log( y );
// => <Float64Array>[ 3.0, 1.0, 0.0, 2.0 ]