function assign( x, y, options ) {
	var opts;
	var err;
	var N;

	if ( !isndarrayLike( x ) ) {
		throw new TypeError( format( 'invalid argument. First argument must be an ndarray-like object. Value: `%s`.', x ) );
	}
	if ( !isndarrayLike( y ) ) {
		throw new TypeError( format( 'invalid argument. Second argument must be an ndarray-like object. Value: `%s`.', y ) );
	}
	N = ndims( x );

	opts = objectAssign( {}, defaults );
	if ( arguments.length > 2 ) {
		err = validate( opts, N, options );
		if ( err ) {
			throw err;
		}
	}
	if ( opts.dims === null ) {
		opts.dims = zeroTo( N );
	}
	unaryReduceSubarray( base, [ x, y ], opts.dims ); // note: we assume that this lower-level function handles further validation of the output ndarray (e.g., expected shape, etc)
	return y;
}
Counts the number of falsy elements along one or more ndarray dimensions and assigns the results to a provided output ndarray.

@param {ndarray} x - input ndarray
@param {ndarray} y - output ndarray
@param {Options} [options] - function options
@param {IntegerArray} [options.dims] - list of dimensions over which to perform a reduction
@throws {TypeError} first argument must be an ndarray-like object
@throws {TypeError} second argument must be an ndarray-like object
@throws {TypeError} options argument must be an object
@throws {Error} must provide valid options
@returns {ndarray} output ndarray

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

// Create a data buffer:
var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 0.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );

// Define the shape of the input array:
var shape = [ 3, 1, 2 ];

// Define the array strides:
var sx = [ 4, 4, 1 ];

// Define the index offset:
var ox = 1;

// Create an input ndarray:
var x = new ndarray( 'float64', xbuf, shape, sx, ox, 'row-major' );

// Create an output ndarray:
var y = empty( [], {
    'dtype': 'int32'
});

// Perform reduction:
var out = assign( x, y );
// returns <ndarray>

var v = out.get();
// returns 1