mars.tensor.right_shift#

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

将整数的位移到右边。

位被向右移位 x2。因为数字的内部表示是二进制格式,这个操作相当于将 x1 除以 2**x2

Parameters
  • x1 (数组_like, 整数) – 输入值。

  • x2 (array_like, int) – 要在 x1 右侧移除的位数。

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

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

  • **kwargs

Returns

out – 返回 x1,将位右移 x2 次。

Return type

张量, int

另请参阅

left_shift

将整数的位向左移动。

示例

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