113 lines
3.6 KiB
Plaintext
113 lines
3.6 KiB
Plaintext
|
|
||
|
{{alias}}( shape, strides, offset, order, idx, mode )
|
||
|
Converts a linear index to an array of subscripts.
|
||
|
|
||
|
When provided a stride array containing negative strides, if an `offset` is
|
||
|
greater than `0`, the function interprets the linear index as an index into
|
||
|
the underlying data buffer for the array, thus returning subscripts from the
|
||
|
perspective of that buffer. If an `offset` is equal to `0`, the function
|
||
|
treats the linear index as an index into an array view, thus returning
|
||
|
subscripts from the perspective of that view. In short, from the perspective
|
||
|
of a view, view data is always ordered.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
shape: ArrayLike
|
||
|
Array shape.
|
||
|
|
||
|
strides: ArrayLike
|
||
|
Stride array.
|
||
|
|
||
|
offset: integer
|
||
|
Location of the first indexed value based on the stride array.
|
||
|
|
||
|
order: string
|
||
|
Specifies whether an array is row-major (C-style) or column-major
|
||
|
(Fortran-style).
|
||
|
|
||
|
idx: integer
|
||
|
Linear index.
|
||
|
|
||
|
mode: string
|
||
|
Specifies how to handle a linear index which exceeds array dimensions.
|
||
|
If equal to 'throw', the function throws an error when a linear index
|
||
|
exceeds array dimensions. If equal to 'wrap', the function wraps around
|
||
|
a linear index exceeding array dimensions using modulo arithmetic. If
|
||
|
equal to 'clamp', the function sets a linear index exceeding array
|
||
|
dimensions to either `0` (minimum linear index) or the maximum linear
|
||
|
index. Default: 'throw'.
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
out: Array
|
||
|
Subscripts.
|
||
|
|
||
|
Examples
|
||
|
--------
|
||
|
> var d = [ 3, 3, 3 ];
|
||
|
> var s = [ 9, 3, 1 ];
|
||
|
> var out = {{alias}}( d, s, 0, 'row-major', 17, 'throw' )
|
||
|
[ 1, 2, 2 ]
|
||
|
|
||
|
|
||
|
{{alias}}.assign( shape, strides, offset, order, idx, mode, out )
|
||
|
Converts a linear index to an array of subscripts and assigns results to a
|
||
|
provided output array.
|
||
|
|
||
|
When provided a stride array containing negative strides, if an `offset` is
|
||
|
greater than `0`, the function interprets the linear index as an index into
|
||
|
the underlying data buffer for the array, thus returning subscripts from the
|
||
|
perspective of that buffer. If an `offset` is equal to `0`, the function
|
||
|
treats the linear index as an index into an array view, thus returning
|
||
|
subscripts from the perspective of that view. In short, from the perspective
|
||
|
of a view, view data is always ordered.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
shape: ArrayLike
|
||
|
Array shape.
|
||
|
|
||
|
strides: ArrayLike
|
||
|
Stride array.
|
||
|
|
||
|
offset: integer
|
||
|
Location of the first indexed value based on the stride array.
|
||
|
|
||
|
order: string
|
||
|
Specifies whether an array is row-major (C-style) or column-major
|
||
|
(Fortran-style).
|
||
|
|
||
|
idx: integer
|
||
|
Linear index.
|
||
|
|
||
|
mode: string
|
||
|
Specifies how to handle a linear index which exceeds array dimensions.
|
||
|
If equal to 'throw', the function throws an error when a linear index
|
||
|
exceeds array dimensions. If equal to 'wrap', the function wraps around
|
||
|
a linear index exceeding array dimensions using modulo arithmetic. If
|
||
|
equal to 'clamp', the function sets a linear index exceeding array
|
||
|
dimensions to either `0` (minimum linear index) or the maximum linear
|
||
|
index. Default: 'throw'.
|
||
|
|
||
|
out: Array|TypedArray|Object
|
||
|
Output object.
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
out: Array|TypedArray|Object
|
||
|
Subscripts.
|
||
|
|
||
|
Examples
|
||
|
--------
|
||
|
> var d = [ 3, 3, 3 ];
|
||
|
> var s = [ 9, 3, 1 ];
|
||
|
> var out = [ 0, 0, 0 ];
|
||
|
> var sub = {{alias}}.assign( d, s, 0, 'row-major', 17, 'throw', out )
|
||
|
[ 1, 2, 2 ]
|
||
|
> var bool = ( sub === out )
|
||
|
true
|
||
|
|
||
|
See Also
|
||
|
--------
|
||
|
|