Delegate TakeKernel
IL-emitted gather kernel for np.take. The source is treated as a
3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair
the kernel reads indices[j], applies mode, and
copies innerSize bytes from the source slab to the destination
position.
public delegate long TakeKernel(byte* src, long* indices, long indicesCount, long outerSize, long maxItem, long innerSize, int mode, byte* dst)
Parameters
srcbyte*- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
indiceslong*- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
indicesCountlong- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
outerSizelong- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
maxItemlong- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
innerSizelong- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
modeint- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
dstbyte*- IL-emitted gather kernel for np.take. The source is treated as a 3-D layout (outerSize, maxItem, innerSize-bytes). For each (outer, j) pair the kernel reads indices[j], applies mode, and copies innerSize bytes from the source slab to the destination position.
Returns
- long
outerSize * indicesCounton success. On RAISE OOB the returned value is the row-major index of the first failing (outer, j) pair.
- Extension Methods