function mskunary( arrays, shape, strides, offsets, fcn ) {
	var sx;
	var sm;
	var sy;
	var ix;
	var im;
	var iy;
	var x;
	var m;
	var y;
	var N;
	var i;

	N = shape[ 0 ];
	if ( N <= 0 ) {
		return;
	}
	ix = offsets[ 0 ];
	im = offsets[ 1 ];
	iy = offsets[ 2 ];
	sx = strides[ 0 ];
	sm = strides[ 1 ];
	sy = strides[ 2 ];
	x = arrays[ 0 ];
	m = arrays[ 1 ];
	y = arrays[ 2 ];
	for ( i = 0; i < N; i++ ) {
		if ( m[ im ] === 0 ) {
			y[ iy ] = fcn( x[ ix ] );
		}
		ix += sx;
		im += sm;
		iy += sy;
	}
}
Applies a unary callback to elements in a strided input array according to elements in a strided mask array and assigns results to elements in a strided output array.

@private
@param {ArrayLikeObject<Collection>} arrays - array-like object containing one input array, a mask array, and one output array
@param {NonNegativeIntegerArray} shape - array-like object containing a single element, the number of indexed elements
@param {IntegerArray} strides - array-like object containing the stride lengths for the strided arrays
@param {NonNegativeIntegerArray} offsets - array-like object containing the starting indices (i.e., index offsets) for the strided arrays
@param {Callback} fcn - unary callback
@returns {void}

@example
var Float64Array = require( '@stdlib/array/float64' );
var Uint8Array = require( '@stdlib/array/uint8' );

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

var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
var m = new Uint8Array( [ 0, 0, 1, 0, 0 ] );
var y = new Float64Array( x.length );

var shape = [ x.length ];
var strides = [ 1, 1, 1 ];
var offsets = [ 0, 0, 0 ];

mskunary( [ x, m, y ], shape, strides, offsets, scale );

console.log( y );
// => <Float64Array>[ 10.0, 20.0, 0.0, 40.0, 50.0 ]