120 lines
3.2 KiB
Plaintext
120 lines
3.2 KiB
Plaintext
|
|
{{alias}}( N, x, stride, clbk[, thisArg] )
|
|
Calculates the range of a strided array via a callback function.
|
|
|
|
The `N` and `stride` parameters determine which elements in `x` are accessed
|
|
at runtime.
|
|
|
|
Indexing is relative to the first index. To introduce an offset, use typed
|
|
array views.
|
|
|
|
If `N <= 0`, the function returns `x` unchanged.
|
|
|
|
The callback function is provided four arguments:
|
|
|
|
- value: array element
|
|
- aidx: array index
|
|
- sidx: strided index (offset + aidx*stride)
|
|
- array: the input array
|
|
|
|
The callback function should return a numeric value.
|
|
|
|
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).
|
|
|
|
stride: integer
|
|
Index increment for `x`.
|
|
|
|
clbk: Function
|
|
Callback function.
|
|
|
|
thisArg: any (optional)
|
|
Execution context.
|
|
|
|
Returns
|
|
-------
|
|
out: number
|
|
Range.
|
|
|
|
Examples
|
|
--------
|
|
// Standard Usage:
|
|
> function accessor( v ) { return v * 2.0; };
|
|
> var x = [ -2.0, 1.0, 3.0, -5.0, 4.0, -1.0, -3.0 ];
|
|
> {{alias}}( x.length, x, 1, accessor )
|
|
18.0
|
|
|
|
// Using `N` and `stride` parameters:
|
|
> x = [ -2.0, 1.0, 3.0, -5.0, 4.0, -1.0, -3.0 ];
|
|
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
|
|
> {{alias}}( N, x, 2, accessor )
|
|
12.0
|
|
|
|
// Using view offsets:
|
|
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );
|
|
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
|
|
> N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 );
|
|
> {{alias}}( N, x1, 2, accessor )
|
|
8.0
|
|
|
|
{{alias}}.ndarray( N, x, stride, offset, clbk[, thisArg] )
|
|
Calculates the range of a strided array via a callback function and using
|
|
alternative indexing semantics.
|
|
|
|
While typed array views mandate a view offset based on the underlying
|
|
buffer, the `offset` parameter supports indexing semantics based on a
|
|
starting index.
|
|
|
|
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).
|
|
|
|
stride: integer
|
|
Index increment for `x`.
|
|
|
|
offset: integer
|
|
Starting index of `x`.
|
|
|
|
clbk: Function
|
|
Callback function.
|
|
|
|
thisArg: any (optional)
|
|
Execution context.
|
|
|
|
Returns
|
|
-------
|
|
out: number
|
|
Range.
|
|
|
|
Examples
|
|
--------
|
|
// Standard Usage:
|
|
> function accessor( v ) { return v * 2.0; };
|
|
> var x = [ -2.0, 1.0, 3.0, -5.0, 4.0, -1.0, -3.0 ];
|
|
> {{alias}}.ndarray( x.length, x, 1, 0, accessor )
|
|
18.0
|
|
|
|
// Using an index offset:
|
|
> x = [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ];
|
|
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
|
|
> {{alias}}.ndarray( N, x, 2, 1, accessor )
|
|
8.0
|
|
|
|
See Also
|
|
--------
|
|
|