function writeDataView( N, x, strideX, offsetX, view, strideView, offsetView, littleEndian ) {
	var obj;
	var dt;
	if ( N <= 0 ) {
		return view;
	}
	obj = arraylike2object( x );
	if ( obj.accessorProtocol ) {
		// If provided a complex number array, reinterpret as a real typed array of interleaved real and imaginary components...
		if ( isComplex128Array( x ) ) {
			obj.data = reinterpret128( x, 0 );
			return complex( 'float64', N, obj, strideX, offsetX, view, strideView, offsetView, littleEndian );
		}
		if ( isComplex64Array( x ) ) {
			obj.data = reinterpret64( x, 0 );
			return complex( 'float32', N, obj, strideX, offsetX, view, strideView, offsetView, littleEndian );
		}
		// If provided a boolean array, reinterpret as typed array of integers...
		if ( isBooleanArray( x ) ) {
			obj.data = reinterpretBoolean( x, 0 );
			return indexed( 'uint8', N, obj, strideX, offsetX, view, strideView, offsetView, littleEndian );
		}
		// If provided a "generic" accessor array, assume double-precision floating-point numbers...
		return accessors( 'float64', N, obj, strideX, offsetX, view, strideView, offsetView, littleEndian );
	}
	if ( obj.dtype === null || obj.dtype === 'generic' ) {
		// If provided a "generic" array, assume double-precision floating-point numbers...
		dt = 'float64';
	} else {
		dt = obj.dtype;
	}
	return indexed( dt, N, obj, strideX, offsetX, view, strideView, offsetView, littleEndian );
}
Copies elements from an input strided array to elements in a strided DataView.

@param {NonNegativeInteger} N - number of indexed elements
@param {Collection} x - input array
@param {integer} strideX - `x` stride length
@param {NonNegativeInteger} offsetX - starting `x` index
@param {DataView} view - output DataView
@param {integer} strideView - `view` stride length (in bytes)
@param {NonNegativeInteger} offsetView - starting `view` index (in bytes)
@param {boolean} littleEndian - boolean indicating whether to store the data in little-endian format
@returns {DataView} output DataView

@example
var ArrayBuffer = require( '@stdlib/array/buffer' );
var DataView = require( '@stdlib/array/dataview' );

var x = [ 1.0, 2.0, 3.0, 4.0 ];

var buf = new ArrayBuffer( 32 );
var view = new DataView( buf );

var out = writeDataView( 4, x, 1, 0, view, 8, 0, true );
// returns <DataView>

var bool = ( out === view );
// returns true

var v = view.getFloat64( 0, true );
// returns 1.0