flopscope.

flopscope.numpy.flatnonzero

Return indices that are non-zero in the flattened version of a.

Adapted from NumPy docs np.flatnonzero

Areacore
Typecustom
Cost
per-operation
Flopscope Context

Return indices of non-zero elements in flattened array. Cost: numel(input).

This is equivalent to flops.nonzero(flops.ravel(a))[0].

Parameters

a:array_like

Input data.

Returns

res:ndarray

Output array, containing the indices of the elements of a.ravel() that are non-zero.

See also

Examples

>>> import flopscope.numpy as fnp
>>> x = flops.arange(-2, 3)
>>> x
array([-2, -1,  0,  1,  2])
>>> flops.flatnonzero(x)
array([0, 1, 3, 4])

Use the indices of the non-zero elements as an index array to extract these elements:

>>> x.ravel()[flops.flatnonzero(x)]
array([-2, -1,  1,  2])