BigInteger class

A wrapper class for arbitrary precision integers.

This class wraps Dart's BigInt and provides Java-like functionality similar to Java's BigInteger class.

Example usage:

BigInteger a = BigInteger("123456789012345678901234567890");
BigInteger b = BigInteger.fromInt(42);
BigInteger sum = a + b;

print(sum.toString()); // Very large number
print(a.isProbablePrime()); // Primality test
Implemented types

Constructors

BigInteger(String value, [int radix = 10])
Creates a BigInteger from a string representation.
factory
BigInteger.fromBigInt(BigInt value)
Creates a BigInteger from a BigInt value.
factory
BigInteger.fromInt(int value)
Creates a BigInteger from an int value.
factory

Properties

bitLength int
Returns the number of bits in this BigInteger.
no setter
hashCode int
Returns the hash code for this BigInteger.
no setteroverride
isEven bool
Returns true if this BigInteger is even.
no setter
isNegative bool
Returns true if this BigInteger is negative.
no setter
isOdd bool
Returns true if this BigInteger is odd.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
value BigInt
Returns the wrapped BigInt value.
no setter

Methods

abs() BigInteger
Returns the absolute value of this BigInteger.
compareTo(BigInteger other) int
Compares this BigInteger with another.
override
gcd(BigInteger other) BigInteger
Returns the greatest common divisor of this and other.
isProbablePrime([int certainty = 10]) bool
Returns true if this BigInteger is probably prime.
modInverse(BigInteger modulus) BigInteger
Returns the modular multiplicative inverse of this BigInteger.
modPow(BigInteger exponent, BigInteger modulus) BigInteger
Returns the modular exponentiation of this BigInteger.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pow(int exponent) BigInteger
Returns this BigInteger raised to the power of the exponent.
toDouble() double
Converts to double (may lose precision).
toInt() int
Converts to int (may throw if too large).
toRadixString([int? radix]) String
Returns a string representation in the specified radix.
toString() String
Returns a string representation of this BigInteger.
override
toUnsigned(int bitLength) BigInteger
Returns the value of this BigInteger masked to an unsigned representation with the given bitLength.

Operators

operator %(BigInteger other) BigInteger
operator &(BigInteger other) BigInteger
Bitwise operators
operator *(BigInteger other) BigInteger
operator +(BigInteger other) BigInteger
Arithmetic operators
operator -(BigInteger other) BigInteger
operator <(BigInteger other) bool
Comparison operators
operator <<(int shiftAmount) BigInteger
operator <=(BigInteger other) bool
operator ==(Object other) bool
Returns true if this BigInteger equals the specified object.
override
operator >(BigInteger other) bool
operator >=(BigInteger other) bool
operator >>(int shiftAmount) BigInteger
operator ^(BigInteger other) BigInteger
operator unary-() BigInteger
Returns the negation of this BigInteger.
operator |(BigInteger other) BigInteger
operator ~() BigInteger
operator ~/(BigInteger other) BigInteger

Static Properties

ONE BigInteger
This creates a BigInteger with value 1.
final
TEN BigInteger
This creates a BigInteger with value 10.
final
TWO BigInteger
This creates a BigInteger with value 2.
final
ZERO BigInteger
This creates a BigInteger with value 0.
final