Table of Contents

Delegate NonZeroPerDimKernel

Namespace
NumSharp.Backends.Kernels
Assembly
NumSharp.dll

IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*).

outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.

public delegate void NonZeroPerDimKernel(long* flat, long count, long* dims, long* dimStrides, long ndim, long** outCols)

Parameters

flat long*
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
count long
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
dims long*
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
dimStrides long*
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
ndim long
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
outCols long**
IL-emitted coord expand for np.nonzero: converts a flat-index buffer (monotonic ascending C-order) into ndim separate per-dim coordinate columns via incremental coord advance — no per-element divmod. Dtype-agnostic (operates on long*). outCols is a pointer to an array of ndim long* pointers, one per output dimension. outCols[d][i] receives the coordinate along dim d for the i'th non-zero element.
Extension Methods