mars.tensor.left_shift#

mars.tensor.left_shift(x1, x2, out=None, where=None, **kwargs)#

将整数的位向左移动。

通过在x1的右侧附加x2个0,将位向左移动。 由于数字的内部表示是二进制格式,这个操作等价于将x1乘以2**x2

Parameters
  • x1 (类似数组整数类型) – 输入值。

  • x2 (类似数组整数类型) – 要附加到 x1 的零的数量。必须是非负的。

  • out (Tensor, None, 或 tupleTensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。

  • where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。

  • **kwargs

Returns

out – 返回 x1,将其位移 x2 次到左边。

Return type

整数类型的张量

另请参阅

right_shift

将整数的位移到右边。

示例

>>> import mars.tensor as mt
>>> mt.left_shift(5, 2).execute()
20
>>> mt.left_shift(5, [1,2,3]).execute()
array([10, 20, 40])