gcd¶
计算两个输入的按元素绝对值的最大公约数,输入必须是整型。
注解
gcd(0,0)=0, gcd(0, y)=|y|
如果 x 和 y 的 shape 不一致,会对两个 shape 进行广播操作,得到一致的 shape(并作为输出结果的 shape), 请参见 Tensor 介绍 .
参数¶
x (Tensor) - 输入的 Tensor,数据类型为:int32,int64。
y (Tensor) - 输入的 Tensor,数据类型为:int32,int64。
name (str,可选) - 操作的名称(可选,默认值为 None)。更多信息请参见 Name。
返回¶
输出 Tensor,与输入数据类型相同。
代码示例¶
import paddle
x1 = paddle.to_tensor(12)
x2 = paddle.to_tensor(20)
paddle.gcd(x1, x2)
# Tensor(shape=[], dtype=int64, place=CUDAPlace(0), stop_gradient=True,
# 4)
x3 = paddle.arange(6)
paddle.gcd(x3, x2)
# Tensor(shape=[6], dtype=int64, place=CUDAPlace(0), stop_gradient=True,
# [20, 1 , 2 , 1 , 4 , 5])
x4 = paddle.to_tensor(0)
paddle.gcd(x4, x2)
# Tensor(shape=[], dtype=int64, place=CUDAPlace(0), stop_gradient=True,
# 20)
paddle.gcd(x4, x4)
# Tensor(shape=[], dtype=int64, place=CUDAPlace(0), stop_gradient=True,
# 0)
x5 = paddle.to_tensor(-20)
paddle.gcd(x1, x5)
# Tensor(shape=[], dtype=int64, place=CUDAPlace(0), stop_gradient=True,
# 4)