function complex( N, condition, x, y, out, stride, offset ) {
	var cdata;
	var cget;
	var sx;
	var sy;
	var sc;
	var so;
	var ix;
	var iy;
	var ic;
	var io;
	var i;

	cdata = condition.data;
	cget = condition.accessors[ 0 ];

	// Broadcast the arrays by computing strides (note: multiply strides by 2 for complex array arguments, as a real-valued array view consists of interleaved real and imaginary components):
	sc = resolveStride( cdata.length, N );
	sx = resolveStride( x.length/2, N ) * 2;
	sy = resolveStride( y.length/2, N ) * 2;
	so = stride * 2;

	// Initialize indices:
	ic = 0;
	ix = 0;
	iy = 0;
	io = offset * 2; // note: account for interleaved real and imaginary components

	// Extract each desired element from a provided array...
	for ( i = 0; i < N; i++ ) {
		if ( cget( cdata, ic ) ) {
			out[ io ] = x[ ix ];
			out[ io+1 ] = x[ ix+1 ];
		} else {
			out[ io ] = y[ iy ];
			out[ io+1 ] = y[ iy+1 ];
		}
		ic += sc;
		ix += sx;
		iy += sy;
		io += so;
	}
	return out;
}
Takes elements from either one complex array or another depending on a condition and assigns the values to elements in a complex output array.

@private
@param {NonNegativeInteger} N - number of indexed elements
@param {Object} condition - condition array object
@param {Collection} x - first real-valued floating-point input array view
@param {Collection} y - second real-valued floating-point input array view
@param {Collection} out - real-valued floating-point output array view
@param {integer} stride - output array stride
@param {NonNegativeInteger} offset - output array offset
@returns {Collection} output array view

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

var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var y = new Float64Array( [ 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0 ] );

var condition = [ true, false, true, false ];

var out = new Float64Array( 8 );

var arr = complex( 4, arraylike2object( condition ), x, y, out, 1, 0 );
// returns <Float64Array>[ 1.0, 2.0, 11.0, 12.0, 5.0, 6.0, 15.0, 16.0 ]