mars.tensor.bitwise_or#
- mars.tensor.bitwise_or(x1, x2, out=None, where=None, **kwargs)#
逐元素计算两个张量的按位或。
计算输入数组中整数的底层二进制表示的按位或。这种ufunc实现了C/Python运算符
|。- Parameters
x1 (array_like) – 仅处理整数和布尔类型。
x2 (array_like) – 仅处理整数和布尔类型。
out (Tensor, None, 或 tuple 的 Tensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。
where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。
**kwargs –
- Returns
out – 结果。
- Return type
类数组对象
示例
数字 13 的二进制表示为
00001101。同样,16 的表示为00010000。 13 和 16 的按位或运算结果为000111011,即 29:>>> import mars.tensor as mt
>>> mt.bitwise_or(13, 16).execute() 29
>>> mt.bitwise_or(32, 2).execute() 34 >>> mt.bitwise_or([33, 4], 1).execute() array([33, 5]) >>> mt.bitwise_or([33, 4], [1, 2]).execute() array([33, 6])
>>> mt.bitwise_or(mt.array([2, 5, 255]), mt.array([4, 4, 4])).execute() array([ 6, 5, 255]) >>> (mt.array([2, 5, 255]) | mt.array([4, 4, 4])).execute() array([ 6, 5, 255]) >>> mt.bitwise_or(mt.array([2, 5, 255, 2147483647], dtype=mt.int32), ... mt.array([4, 4, 4, 2147483647], dtype=mt.int32)).execute() array([ 6, 5, 255, 2147483647]) >>> mt.bitwise_or([True, True], [False, True]).execute() array([ True, True])