flopscope.

flopscope.numpy.put

fnp.put(a, ind, v, mode='raise')[flopscope source][numpy source]

Replaces specified elements of an array with given values.

Adapted from NumPy docs np.put

Areacore
Typecustom
NumPy Refnp.put
Cost
per-operation
Flopscope Context

Replace elements at given flat indices. Cost: numel(input).

The indexing works on the flattened target array. put is roughly equivalent to:

a.flat[ind] = v

Parameters

a:ndarray

Target array.

ind:array_like

Target indices, interpreted as integers.

v:array_like

Values to place in a at target indices. If v is shorter than ind it will be repeated as necessary.

mode:{'raise', 'wrap', 'clip'}, optional

Specifies how out-of-bounds indices will behave.

  • 'raise' -- raise an error (default)

  • 'wrap' -- wrap around

  • 'clip' -- clip to the range

'clip' mode means that all indices that are too large are replaced by the index that addresses the last element along that axis. Note that this disables indexing with negative numbers. In 'raise' mode, if an exception occurs the target array may still be modified.

See also

Examples

>>> import flopscope.numpy as fnp
>>> a = flops.arange(5)
>>> flops.put(a, [0, 2], [-44, -55])
>>> a
array([-44,   1, -55,   3,   4])
>>> a = flops.arange(5)
>>> flops.put(a, 22, -5, mode='clip')
>>> a
array([ 0,  1,  2,  3, -5])