function complex( dtype, N, view, strideView, offsetView, out, strideOut, offsetOut, littleEndian ) {
	var nbytes;
	var data;
	var io;
	var iv;
	var m;
	var i;

	m = METHOD_TABLE[ dtype ];
	nbytes = bytesPerElement( dtype );

	data = out.data;

	// Adjust meta data to account for interleaved real and imaginary components:
	strideOut *= 2;
	offsetOut *= 2;

	io = offsetOut;
	iv = offsetView;
	for ( i = 0; i < N; i++ ) {
		data[ io ] = view[ m ]( iv, littleEndian );
		data[ io+1 ] = view[ m ]( iv+nbytes, littleEndian );
		io += strideOut;
		iv += strideView;
	}
}
Copies elements from an input strided DataView to elements in a strided complex array.

@private
@param {string} dtype - output array data type
@param {NonNegativeInteger} N - number of indexed elements
@param {DataView} view - input DataView
@param {integer} strideView - `view` stride length (in bytes)
@param {NonNegativeInteger} offsetView - starting `view` index (in bytes)
@param {Collection} out - output array object
@param {integer} strideOut - `out` stride length
@param {NonNegativeInteger} offsetOut - starting `out` index
@param {boolean} littleEndian - boolean indicating whether the data is stored in little-endian format
@returns {void}

@example
var Float64Array = require( '@stdlib/array/float64' );
var DataView = require( '@stdlib/array/dataview' );
var arraylike2object = require( '@stdlib/array/base/arraylike2object' );

var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var view = new DataView( x.buffer );

var y = new Float64Array( x.length );

complex( 'float64', 2, view, 8, 0, arraylike2object( y ), 1, 0, true );
// e.g., y => <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]