dpnp.bitwise_left_shift

dpnp.bitwise_left_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 left by appending \(x2_i\) (i.e., the respective element in the input array x2) zeros to the right of \(x1_i\).

Note that dpnp.bitwise_left_shift is an alias of dpnp.left_shift.

For full documentation refer to numpy.left_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.right_shift

Shift the bits of an integer to the right.

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([5])
>>> x2 = np.array([1, 2, 3])
>>> np.left_shift(x1, x2)
array([10, 20, 40])

The << operator can be used as a shorthand for left_shift on dpnp.ndarray.

>>> x1 << x2
array([10, 20, 40])
>>> np.binary_repr(5)
'101'
>>> np.left_shift(np.array(5), 2)
array(20)
>>> np.binary_repr(20)
'10100'