dpnp.bitwise_right_shift

dpnp.bitwise_right_shift(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)

Shifts the bits of each element \(x1_i\) of the input array x1 to the right according to the respective element \(x2_i\) of the input array x2.

Note that dpnp.bitwise_right_shift is an alias of dpnp.right_shift.

For full documentation refer to numpy.right_shift.

Parameters:
  • x1 ({dpnp.ndarray, usm_ndarray, scalar}) -- First input array, expected to have an integer data type.

  • x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have an integer data type. Each element must be greater than or equal to 0.

  • out ({None, dpnp.ndarray, usm_ndarray}, optional) --

    Output array to populate. Array must have the correct shape and the expected data type.

    Default: None.

  • order ({None, "C", "F", "A", "K"}, optional) --

    Memory layout of the newly output array, if parameter out is None.

    Default: "K".

Returns:

out -- An array containing the element-wise results. The data type of the returned array is determined by the Type Promotion Rules.

Return type:

dpnp.ndarray

Limitations

Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise NotImplementedError exception will be raised.

See also

dpnp.left_shift

Shift the bits of an integer to the left.

dpnp.binary_repr

Return the binary representation of the input number as a string.

Notes

At least one of x1 or x2 must be an array.

If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

Examples

>>> import dpnp as np
>>> x1 = np.array([10])
>>> x2 = np.array([1, 2, 3])
>>> np.right_shift(x1, x2)
array([5, 2, 1])

The >> operator can be used as a shorthand for right_shift on dpnp.ndarray.

>>> x1 >> x2
array([5, 2, 1])
>>> np.binary_repr(10)
'1010'
>>> np.right_shift(np.array(10), 1)
array(5)
>>> np.binary_repr(5)
'101'