{{alias}}( N, x, sx, y, sy, fcn, clbk[, thisArg] ) Applies a unary function to each element retrieved from a strided input array according to a callback function and assigns each result to an element in a strided output array. The `N` and stride parameters determine which elements in `x` and `y` are accessed at runtime. Indexing is relative to the first index. To introduce an offset, use typed array views. The callback function is provided six arguments: - value: array element - idx: iteration index - xi: strided index (offsetX + idx*sx) - yi: strided index (offsetY + idx*sy) - x: the input array - y: the destination array If the callback function does not return any value (or equivalently, explicitly returns `undefined`), the value is ignored. Parameters ---------- N: integer Number of indexed elements. x: Array|TypedArray|Object Input array/collection. If provided an object, the object must be array- like (excluding strings and functions). sx: integer Index increment for `x`. y: Array|TypedArray|Object Destination array/collection. If provided an object, the object must be array-like (excluding strings and functions). sy: integer Index increment for `y`. fcn: Function Unary function to apply to callback return values. clbk: Function Callback function. thisArg: any (optional) Callback execution context. Returns ------- y: Array|TypedArray|Object Destination array/collection. Examples -------- // Standard usage: > var x = [ 1.0, -2.0, 3.0, -4.0 ]; > var y = [ 0.0, 0.0, 0.0, 0.0 ]; > function clbk( v ) { return v * 2.0; }; > {{alias}}( x.length, x, 1, y, 1, {{alias:@stdlib/math/base/special/abs}}, clbk ) [ 2.0, 4.0, 6.0, 8.0 ] // Using `N` and stride parameters: > y = [ 0.0, 0.0, 0.0, 0.0 ]; > {{alias}}( 2, x, 2, y, -1, {{alias:@stdlib/math/base/special/abs}}, clbk ) [ 6.0, 2.0, 0.0, 0.0 ] // Using view offsets: > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, -4.0 ] ); > var y0 = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*2 ); > {{alias}}( 2, x1, -2, y1, 1, {{alias:@stdlib/math/base/special/abs}}, clbk ) [ 8.0, 4.0 ] > y0 [ 0.0, 0.0, 8.0, 4.0 ] {{alias}}.ndarray( N, x, sx, ox, y, sy, oy, fcn, clbk[, thisArg] ) Applies a unary function to each element retrieved from a strided input array according to a callback function and assigns each result to an element in a strided output array using alternative indexing semantics. While typed array views mandate a view offset based on the underlying buffer, the offsest parameters support indexing semantics based on starting indices. Parameters ---------- N: integer Number of indexed elements. x: Array|TypedArray|Object Input array/collection. If provided an object, the object must be array- like (excluding strings and functions). sx: integer Index increment for `x`. ox: integer Starting index for `x`. y: Array|TypedArray|Object Destination array/collection. If provided an object, the object must be array-like (excluding strings and functions). sy: integer Index increment for `y`. oy: integer Starting index for `y`. fcn: Function Unary function to apply to callback return values. clbk: Function Callback function. thisArg: any (optional) Callback execution context. Returns ------- y: Array|TypedArray|Object Destination array/collection. Examples -------- // Standard usage: > var x = [ 1.0, -2.0, 3.0, -4.0 ]; > var y = [ 0.0, 0.0, 0.0, 0.0 ]; > function clbk( v ) { return v * 2.0; }; > {{alias}}.ndarray( x.length, x, 1, 0, y, 1, 0, {{alias:@stdlib/math/base/special/abs}}, clbk ) [ 2.0, 4.0, 6.0, 8.0 ] // Advanced indexing: > x = [ 1.0, -2.0, 3.0, -4.0 ]; > y = [ 0.0, 0.0, 0.0, 0.0 ]; > {{alias}}.ndarray( 2, x, 2, 1, y, -1, y.length-1, {{alias:@stdlib/math/base/special/abs}}, clbk ) [ 0.0, 0.0, 8.0, 4.0 ] See Also --------