Esempio n. 1
0
 public static BigInteger LeastCommonMultiple(this BigInteger a, BigInteger b)
 {
     Extreme.Mathematics.BigInteger emA    = ToUnsignedExtremeMathematics(a);
     Extreme.Mathematics.BigInteger emB    = ToUnsignedExtremeMathematics(b);
     Extreme.Mathematics.BigInteger result = IntegerMath.LeastCommonMultiple(emA, emB);
     return(ToUnsignedBigInteger(result));
 }
Esempio n. 2
0
 public static BigInteger ModularInverse(this BigInteger value, BigInteger modulus)
 {
     Extreme.Mathematics.BigInteger emValue   = ToUnsignedExtremeMathematics(value);
     Extreme.Mathematics.BigInteger emModulus = ToUnsignedExtremeMathematics(modulus);
     Extreme.Mathematics.BigInteger result    = Extreme.Mathematics.BigInteger.ModularInverse(emValue, emModulus);
     return(ToUnsignedBigInteger(result));
 }
Esempio n. 3
0
 public static BigInteger GreatestCommonDivisor(this BigInteger a, BigInteger b)
 {
     Extreme.Mathematics.BigInteger emA    = ToUnsignedExtremeMathematics(a);
     Extreme.Mathematics.BigInteger emB    = ToUnsignedExtremeMathematics(b);
     Extreme.Mathematics.BigInteger result = IntegerMath.GreatestCommonDivisor(emA, emB);
     return(ToUnsignedBigInteger(result));
 }
Esempio n. 4
0
 public static BigInteger ToUnsignedBigInteger(Extreme.Mathematics.BigInteger value)
 {
     if (value.Sign < 0)
     {
         throw new ArgumentException("Only non-negative values allowed");
     }
     return(new BigInteger(value.ToByteArray()));
 }