149 lines
4.4 KiB
Plaintext
149 lines
4.4 KiB
Plaintext
|
|
{{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 )
|
|
<Float64Array>[ 8.0, 4.0 ]
|
|
> y0
|
|
<Float64Array>[ 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
|
|
--------
|
|
|