jax.numpy.right_shift#

jax.numpy.right_shift(x1, x2, /)[原始碼]#

x1 的位元向右移位 x2 指定的量。

numpy.right_shift 的 JAX 實作。

參數:
  • x1 (ArrayLike) – 輸入陣列,僅接受無符號整數子型別

  • x2 (ArrayLike) – 將 x1 中每個元素向右移位的位元量,僅接受整數子型別

回傳:

一個類陣列物件,包含 x1x2 指定量向右移位的元素,形狀與 x1x2 廣播後的形狀相同。

回傳型別:

陣列

注意

如果 x1.shape != x2.shape,它們必須相容才能廣播到共享形狀,此共享形狀也將是輸出的形狀。將純量 x1 向右移位純量 x2 等同於 x1 // 2**x2

範例

>>> def print_binary(x):
...   return [bin(int(val)) for val in x]
>>> x1 = jnp.array([1, 2, 4, 8])
>>> print_binary(x1)
['0b1', '0b10', '0b100', '0b1000']
>>> x2 = 1
>>> result = jnp.right_shift(x1, x2)
>>> result
Array([0, 1, 2, 4], dtype=int32)
>>> print_binary(result)
['0b0', '0b1', '0b10', '0b100']
>>> x1 = 16
>>> print_binary([x1])
['0b10000']
>>> x2 = jnp.array([1, 2, 3, 4])
>>> result = jnp.right_shift(x1, x2)
>>> result
Array([8, 4, 2, 1], dtype=int32)
>>> print_binary(result)
['0b1000', '0b100', '0b10', '0b1']