Java BigInteger类中的“ hybridGCD”方法有什么作用?

时间:2019-08-04 23:58:49

标签: java biginteger

我正在查看Java BigInteger gcd方法源代码。我发现在类的任何地方都没有定义hybridGCD()方法。

这是链接: http://hg.openjdk.java.net/jdk/jdk11/file/tip/src/java.base/share/classes/java/math/BigInteger.java

public BigInteger gcd(BigInteger val) {
    if (val.signum == 0)
        return this.abs();
    else if (this.signum == 0)
        return val.abs();

    MutableBigInteger a = new MutableBigInteger(this);
    MutableBigInteger b = new MutableBigInteger(val);

    MutableBigInteger result = a.hybridGCD(b);

    return result.toBigInteger(1);
}

对于两个相当大的数字(每个数字包含一百万个数字),gcd方法没有响应一个小时。

1 个答案:

答案 0 :(得分:2)

此处定义了该方法(因为它是MutableBigInteger的一部分):

http://hg.openjdk.java.net/jdk/jdk11/file/1ddf9a99e4ad/src/java.base/share/classes/java/math/MutableBigInteger.java