A type with efficient encoding of arbitrary integers.
It wrapsjava.math.BigInteger, with optimization for small values that can be encoded in aLong.
Public constructor present for compatibility.
Public constructor present for compatibility. Use the BigInt.apply companion object method instead.
Remainder of BigInts
Bitwise and of BigInts
Bitwise and-not of BigInts.
Bitwise and-not of BigInts. Returns a BigInt whose value is (this & ~that).
Multiplication of BigInts
Addition of BigInts
Subtraction of BigInts
Division of BigInts
Returns a pair of two BigInts containing (this / that) and (this % that).
Returns a pair of two BigInts containing (this / that) and (this % that).
Leftshift of BigInt
(Signed) rightshift of BigInt
Bitwise exclusive-or of BigInts
Returns the absolute value of this BigInt
Returns the number of bits in the two's complement representation of this BigInt that differ from its sign bit.
Returns the number of bits in the two's complement representation of this BigInt that differ from its sign bit.
Returns the number of bits in the minimal two's-complement representation of this BigInt, excluding a sign bit.
Returns the number of bits in the minimal two's-complement representation of this BigInt, excluding a sign bit.
Converts this BigInt to abyte.
Converts this BigInt to abyte. If the BigInt is too big to fit in a byte, only the low-order 8 bits are returned. Note that this conversion can lose information about the overall magnitude of the BigInt value as well as return a result with the opposite sign.
Converts this BigInt to achar.
Converts this BigInt to achar. If the BigInt is too big to fit in a char, only the low-order 16 bits are returned. Note that this conversion can lose information about the overall magnitude of the BigInt value and that it always returns a positive result.
Returns a BigInt whose value is equivalent to this BigInt with the designated bit cleared.
Returns a BigInt whose value is equivalent to this BigInt with the designated bit cleared.
Compares this BigInt with the specified BigInt
Converts thisBigInt to adouble.
Converts thisBigInt to adouble. if thisBigInt has too great a magnitude to represent as a double, it will be converted toDouble.NEGATIVE_INFINITY orDouble.POSITIVE_INFINITY as appropriate.
Compares this BigInt with the specified value for equality.
Compares this BigInt with the specified value for equality.
Compares this BigInt with the specified BigInt for equality.
Returns a BigInt whose value is equivalent to this BigInt with the designated bit flipped.
Returns a BigInt whose value is equivalent to this BigInt with the designated bit flipped.
Converts thisBigInt to afloat.
Converts thisBigInt to afloat. If thisBigInt has too great a magnitude to represent as a float, it will be converted toFloat.NEGATIVE_INFINITY orFloat.POSITIVE_INFINITY as appropriate.
Returns the greatest common divisor of abs(this) and abs(that)
Returns the hash code for this BigInt.
Converts this BigInt to anint.
Converts this BigInt to anint. If the BigInt is too big to fit in an int, only the low-order 32 bits are returned. Note that this conversion can lose information about the overall magnitude of the BigInt value as well as return a result with the opposite sign.
Returns true if this BigInt is probably prime, false if it's definitely composite.
Returns true if this BigInt is probably prime, false if it's definitely composite.
a measure of the uncertainty that the caller is willing to tolerate: if the call returns true the probability that this BigInt is prime exceeds (1 - 1/2^ certainty). The execution time of this method is proportional to the value of this parameter.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Byte MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Byte MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Char MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Char MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this can be represented exactly byscala.Double; otherwise returnsfalse.
Returnstrue iff this can be represented exactly byscala.Double; otherwise returnsfalse.
Returnstrue iff this can be represented exactly byscala.Float; otherwise returnsfalse.
Returnstrue iff this can be represented exactly byscala.Float; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Int MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Int MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Short MinValue and MaxValue; otherwise returnsfalse.
Returnstrue iff this has a zero fractional part, and is within the range ofscala.Short MinValue and MaxValue; otherwise returnsfalse.
Converts this BigInt to along.
Converts this BigInt to along. If the BigInt is too big to fit in a long, only the low-order 64 bits are returned. Note that this conversion can lose information about the overall magnitude of the BigInt value as well as return a result with the opposite sign.
Returns the index of the rightmost (lowest-order) one bit in this BigInt (the number of zero bits to the right of the rightmost one bit).
Returns the index of the rightmost (lowest-order) one bit in this BigInt (the number of zero bits to the right of the rightmost one bit).
Returns the maximum of this and that
Returns the minimum of this and that
Returns a BigInt whose value is (this mod that).
Returns a BigInt whose value is (this mod that). This method differs from% in that it always returns a non-negative BigInt.
A positive number
Returns a BigInt whose value is (the inverse ofthis modulom).
Returns a BigInt whose value is (this raised to the power ofexp modulom).
Returns a BigInt whose value is (this raised to the power ofexp modulom).
Returns a BigInt whose value is (this raised to the power ofexp).
Returns a BigInt whose value is equivalent to this BigInt with the designated bit set.
Returns a BigInt whose value is equivalent to this BigInt with the designated bit set.
Converts this BigInt to ashort.
Converts this BigInt to ashort. If the BigInt is too big to fit in a short, only the low-order 16 bits are returned. Note that this conversion can lose information about the overall magnitude of the BigInt value as well as return a result with the opposite sign.
Returns the sign of this BigInt; -1 if it is less than 0, +1 if it is greater than 0, 0 if it is equal to 0.
Returns the sign of this BigInt; -1 if it is less than 0, +1 if it is greater than 0, 0 if it is equal to 0.
Returns the sign of this BigInt; -1 if it is less than 0, +1 if it is greater than 0, 0 if it is equal to 0.
Returns the sign of this BigInt; -1 if it is less than 0, +1 if it is greater than 0, 0 if it is equal to 0.
Returns true if and only if the designated bit is set.
Like until, but inclusive of the end value.
Returns a byte array containing the two's-complement representation of this BigInt.
Returns a byte array containing the two's-complement representation of this BigInt. The byte array will be in big-endian byte-order: the most significant byte is in the zeroth element. The array will contain the minimum number of bytes required to represent this BigInt, including at least one sign bit.
Returns the decimal String representation of this BigInt.
Returns the decimal String representation of this BigInt.
Returns the String representation in the specified radix of this BigInt.
Returns the String representation in the specified radix of this BigInt.
Returns a BigInt whose value is the negation of this BigInt
Returns the bitwise complement of this BigInt
Create aNumericRange[BigInt] in range[start;end) with the specified step, where start is the target BigInt.
Create aNumericRange[BigInt] in range[start;end) with the specified step, where start is the target BigInt.
the end value of the range (exclusive)
the distance between elements (defaults to 1)
the range
Bitwise or of BigInts
true if this number has no decimal component,false otherwise.
[Since version 2.12.15]isWhole on an integer type is always trueReturns true ifthis is less thanthat
Returns true ifthis is less than or equal tothat.
Returns true ifthis is less than or equal tothat.
Returns true ifthis is greater thanthat.
Returns true ifthis is greater than or equal tothat.
Returns true ifthis is greater than or equal tothat.
Result of comparingthis with operandthat.
Returns the value of this as ascala.Byte.
Returns the value of this as ascala.Byte. This may involve rounding or truncation.
Returns the value of this as ascala.Char.
Returns the value of this as ascala.Char. This may involve rounding or truncation.
Returns the value of this as ascala.Double.
Returns the value of this as ascala.Double. This may involve rounding or truncation.
Returns the value of this as ascala.Float.
Returns the value of this as ascala.Float. This may involve rounding or truncation.
Returns the value of this as anscala.Int.
Returns the value of this as anscala.Int. This may involve rounding or truncation.
Returns the value of this as ascala.Long.
Returns the value of this as ascala.Long. This may involve rounding or truncation.
Returns the value of this as ascala.Short.
Returns the value of this as ascala.Short. This may involve rounding or truncation.
Should only be called after all known non-primitive types have been excluded.
Should only be called after all known non-primitive types have been excluded. This method won't dispatch anywhere else after checking against the primitives to avoid infinite recursion between equals and this on unknown "Number" variants.
Additionally, this should only be called if the numeric type is happy to be converted to Long, Float, and Double. If for instance a BigInt much larger than the Long range is sent here, it will claim equality with whatever Long is left in its lower 64 bits. Or a BigDecimal with more precision than Double can hold: same thing. There's no way given the interface available here to prevent this error.