megengine.functional.left_shift¶
- left_shift(x, y)[源代码]¶
逐个元素的左移。
将输入张量 \(x\) 的每个元素 \(x_i\) 的比特向左移动,方法是将 \(y_i\) (即输入张量 \(y\) 中各自的元素 \(y_i\) )的零追加到 \(x_i\) 的右侧。
注解
<<
操作符可以用作张量上left_shift
的简写。- 参数
x – 第一个输入张量。应该有一个整数数据类型。
y – 第二个输入张量。必须与 \(x\) 兼容(参见 广播机制与规则 )。应该有一个整数数据类型。每个元素必须大于或等于
0
。
- 返回
一个张量,包含元素左移操作的结果。返回的张量必须由 类型提升规则 决定数据类型。
实际案例
>>> F.left_shift([1, 2, 3], 1) Tensor([2 4 6], dtype=int32, device=xpux:0)
逐个元素的左移:
>>> x = Tensor([1, 2, 3]) >>> y = Tensor([1, 2, 3]) >>> F.left_shift(x, y) Tensor([ 2 8 24], dtype=int32, device=xpux:0)
广播:
>>> F.left_shift(5, [1, 2, 3]) Tensor([10 20 40], dtype=int32, device=xpux:0)