Delegate UnravelIndexKernel
IL-emitted flat→multi-coord expander for np.unravel_index.
Caller pre-casts indices to int64 and computes unravelSize
= product of dims; the kernel reads indices
linearly, validates each value against [0, unravelSize), and emits
per-axis coords into outCols using the C-order or F-order
extraction direction selected by idxStart /
idxStep.
public delegate long UnravelIndexKernel(long* indices, long count, long* dims, long unravelSize, long** outCols, long ndim, long idxStart, long idxStep)
Parameters
indiceslong*- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
countlong- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
dimslong*- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
unravelSizelong- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
outColslong**- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
ndimlong- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
idxStartlong- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
idxSteplong- IL-emitted flat→multi-coord expander for np.unravel_index. Caller pre-casts indices to int64 and computes unravelSize = product of dims; the kernel reads indices linearly, validates each value against [0, unravelSize), and emits per-axis coords into outCols using the C-order or F-order extraction direction selected by idxStart / idxStep.
Returns
- long
counton success. On failure, the row index of the first element withval < 0orval >= unravelSize; the caller readsindices[returned]to produce the error message.
- Extension Methods