「hybridGCD」メソッドは、JavaのBigIntegerクラスで何をしますか?

User_67128:

私は、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方法は(百万桁各々を含む)は、2つのかなり大きな数のための時間応答されませんでした。

スコット・ハンター:

(それはMutableBigIntegerの一部であるため)の方法は、ここで定義されています。

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=236721&siteId=1