dpnp.left_shift

dpnp.left_shift = <DPNPBinaryFunc 'left_shift'>

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, tuple of ndarray}, optional

Output array to populate. Array must have the correct shape and the expected data type. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

Default: None.

order{None, "C", "F", "A", "K"}, optional

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

Default: "K".

Returns
-------
outdpnp.ndarray

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

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'