function assign( x, y, stride, offset, fcn, thisArg ) {
	var xobj;
	var yobj;

	xobj = arraylike2object( x );
	yobj = arraylike2object( y );
	if ( xobj.accessorProtocol || yobj.accessorProtocol ) {
		accessors( xobj, yobj, stride, offset, fcn, thisArg );
		return y;
	}
	return internal( x, y, stride, offset, fcn, thisArg );
}
Applies a callback function to elements in an input array and assigns results to elements in an output array.

@param {Collection} x - input array
@param {Collection} y - output array
@param {integer} stride - stride length for output array
@param {NonNegativeInteger} offset - starting index for output array
@param {Function} fcn - callback function
@param {*} [thisArg] - callback execution context
@returns {Collection} output array

@example
var ones = require( '@stdlib/array/base/ones' );
var zeros = require( '@stdlib/array/base/zeros' );

function scale( x ) {
    return x * 10.0;
}

var x = ones( 4 );
var y = zeros( x.length );

var out = assign( x, y, 1, 0, scale );
// returns [ 10.0, 10.0, 10.0, 10.0 ]

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