mindspore.ops.LeftShift

class mindspore.ops.LeftShift[源代码]

将Tensor每个位置的值向左移动若干个比特位。 输入是两个Tensor,它们的数据类型必须一致,并且它们的shape可以广播。 输出不支持隐式类型转换。

\[\begin{aligned} &out_{i} =x_{i} << y_{i} \end{aligned}\]

警告

这是一个实验性API,后续可能修改或删除。

输入:
  • x1 (Tensor) - 目标Tensor,将根据 x2 对应位置的值向左移动相应的比特位,类型支持int8、int16、int32、int64、uint8、uint16、uint32、uint64。

  • x2 (Tensor) - Tensor必须具有与 x1 相同的数据类型,且其shape必须与 x1 相同或者可以与 x1 进行广播。

输出:
  • output (Tensor) - 输出Tensor,数据类型与 x1 相同。并且输出Tensor的shape与 x1 相同,或者和 x1x2 广播后的shape相同。

异常:
  • TypeError - 如果 x1x2 的数据类型错误。

  • TypeError - 如果 x1x2 不是Tensor。

  • ValueError - 如果 x1x2 无法广播。

支持平台:

Ascend GPU CPU

样例:

>>> left_shift = ops.LeftShift()
>>> x1 = Tensor(np.array([1, 2, 3]).astype(np.int8))
>>> x2 = Tensor(np.array([0, 1, -1]).astype(np.int8))
>>> output = left_shift(x1, x2)
>>> print(output)
[1 4 3]