flopscope.

flopscope.numpy.flip

fnp.flip(m, axis=None)[flopscope source][numpy source]

Reverse the order of elements in an array along the given axis.

Adapted from NumPy docs np.flip

Areacore
Typefree
NumPy Refnp.flip
Cost
0
Flopscope Context

Reverse order of elements along axis.

The shape of the array is preserved, but the elements are reordered.

Parameters

m:array_like

Input array.

axis:None or int or tuple of ints, optional

Axis or axes along which to flip over. The default, axis=None, will flip over all of the axes of the input array. If axis is negative it counts from the last to the first axis.

If axis is a tuple of ints, flipping is performed on all of the axes specified in the tuple.

Returns

out:array_like

A view of m with the entries of axis reversed. Since a view is returned, this operation is done in constant time.

See also

Notes

flip(m, 0) is equivalent to flipud(m).

flip(m, 1) is equivalent to fliplr(m).

flip(m, n) corresponds to m[...,::-1,...] with ::-1 at position n.

flip(m) corresponds to m[::-1,::-1,...,::-1] with ::-1 at all positions.

flip(m, (0, 1)) corresponds to m[::-1,::-1,...] with ::-1 at position 0 and position 1.

Examples

>>> import flopscope.numpy as fnp
>>> A = flops.arange(8).reshape((2,2,2))
>>> A
array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [6, 7]]])
>>> flops.flip(A, 0)
array([[[4, 5],
        [6, 7]],
       [[0, 1],
        [2, 3]]])
>>> flops.flip(A, 1)
array([[[2, 3],
        [0, 1]],
       [[6, 7],
        [4, 5]]])
>>> flops.flip(A)
array([[[7, 6],
        [5, 4]],
       [[3, 2],
        [1, 0]]])
>>> flops.flip(A, (0, 2))
array([[[5, 4],
        [7, 6]],
       [[1, 0],
        [3, 2]]])
>>> rng = flops.random.default_rng()
>>> A = rng.normal(size=(3,4,5))
>>> flops.all(flops.flip(A,2) == A[:,:,::-1,...])
True