BigInt

scala.math.BigInt
See theBigInt companion object

A type with efficient encoding of arbitrary integers.

It wraps java.math.BigInteger, with optimization for small values that can be encoded in a Long.

Attributes

Companion
object
Graph
Supertypes
trait Ordered[BigInt]
class ScalaNumber
class Number
trait Serializable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Constructors

Public constructor present for compatibility. Use the BigInt.apply companion object method instead.

Public constructor present for compatibility. Use the BigInt.apply companion object method instead.

Attributes

Concrete methods

def %(that: BigInt): BigInt

Remainder of BigInts

Remainder of BigInts

Attributes

def &(that: BigInt): BigInt

Bitwise and of BigInts

Bitwise and of BigInts

Attributes

def &~(that: BigInt): BigInt

Bitwise and-not of BigInts. Returns a BigInt whose value is (this & ~that).

Bitwise and-not of BigInts. Returns a BigInt whose value is (this & ~that).

Attributes

def *(that: BigInt): BigInt

Multiplication of BigInts

Multiplication of BigInts

Attributes

def +(that: BigInt): BigInt

Addition of BigInts

Addition of BigInts

Attributes

def -(that: BigInt): BigInt

Subtraction of BigInts

Subtraction of BigInts

Attributes

def /(that: BigInt): BigInt

Division of BigInts

Division of BigInts

Attributes

def /%(that: BigInt): (BigInt, BigInt)

Returns a pair of two BigInts containing (this / that) and (this % that).

Returns a pair of two BigInts containing (this / that) and (this % that).

Attributes

def <<(n: Int): BigInt

Leftshift of BigInt

Leftshift of BigInt

Attributes

def >>(n: Int): BigInt

(Signed) rightshift of BigInt

(Signed) rightshift of BigInt

Attributes

def ^(that: BigInt): BigInt

Bitwise exclusive-or of BigInts

Bitwise exclusive-or of BigInts

Attributes

def abs: BigInt

Returns the absolute value of this BigInt

Returns the absolute value of this BigInt

Attributes

def bitCount: Int

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.

Attributes

def bitLength: Int

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.

Attributes

override def byteValue: Byte

Converts this BigInt to a byte. 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 a byte. 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.

Attributes

Definition Classes

Converts this BigInt to a char. 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.

Converts this BigInt to a char. 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.

Attributes

def clearBit(n: Int): BigInt

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.

Attributes

Compares this BigInt with the specified BigInt

Compares this BigInt with the specified BigInt

Attributes

Converts this BigInt to a double. if this BigInt has too great a magnitude to represent as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.

Converts this BigInt to a double. if this BigInt has too great a magnitude to represent as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.

Attributes

override def equals(that: Any): Boolean

Compares this BigInt with the specified value for equality.

Compares this BigInt with the specified value for equality.

Attributes

Definition Classes
Any

Compares this BigInt with the specified BigInt for equality.

Compares this BigInt with the specified BigInt for equality.

Attributes

def flipBit(n: Int): BigInt

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.

Attributes

Converts this BigInt to a float. If this BigInt has too great a magnitude to represent as a float, it will be converted to Float.NEGATIVE_INFINITY or Float.POSITIVE_INFINITY as appropriate.

Converts this BigInt to a float. If this BigInt has too great a magnitude to represent as a float, it will be converted to Float.NEGATIVE_INFINITY or Float.POSITIVE_INFINITY as appropriate.

Attributes

Returns the greatest common divisor of abs(this) and abs(that)

Returns the greatest common divisor of abs(this) and abs(that)

Attributes

override def hashCode(): Int

Returns the hash code for this BigInt.

Returns the hash code for this BigInt.

Attributes

Definition Classes
Any
def intValue: Int

Converts this BigInt to an int. 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.

Converts this BigInt to an int. 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.

Attributes

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.

Value parameters

certainty

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.

Attributes

override def isValidByte: Boolean

Returns true iff this has a zero fractional part, and is within the range of scala.Byte MinValue and MaxValue; otherwise returns false.

Returns true iff this has a zero fractional part, and is within the range of scala.Byte MinValue and MaxValue; otherwise returns false.

Attributes

Definition Classes
override def isValidChar: Boolean

Returns true iff this has a zero fractional part, and is within the range of scala.Char MinValue and MaxValue; otherwise returns false.

Returns true iff this has a zero fractional part, and is within the range of scala.Char MinValue and MaxValue; otherwise returns false.

Attributes

Definition Classes

Returns true iff this can be represented exactly by scala.Double; otherwise returns false.

Returns true iff this can be represented exactly by scala.Double; otherwise returns false.

Attributes

Returns true iff this can be represented exactly by scala.Float; otherwise returns false.

Returns true iff this can be represented exactly by scala.Float; otherwise returns false.

Attributes

override def isValidInt: Boolean

Returns true iff this has a zero fractional part, and is within the range of scala.Int MinValue and MaxValue; otherwise returns false.

Returns true iff this has a zero fractional part, and is within the range of scala.Int MinValue and MaxValue; otherwise returns false.

Attributes

Definition Classes
override def isValidShort: Boolean

Returns true iff this has a zero fractional part, and is within the range of scala.Short MinValue and MaxValue; otherwise returns false.

Returns true iff this has a zero fractional part, and is within the range of scala.Short MinValue and MaxValue; otherwise returns false.

Attributes

Definition Classes

Converts this BigInt to a long. 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.

Converts this BigInt to a long. 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.

Attributes

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).

Attributes

Returns the maximum of this and that

Returns the maximum of this and that

Attributes

Returns the minimum of this and that

Returns the minimum of this and that

Attributes

Returns a BigInt whose value is (this mod that). This method differs from % in that it always returns a non-negative BigInt.

Returns a BigInt whose value is (this mod that). This method differs from % in that it always returns a non-negative BigInt.

Value parameters

that

A positive number

Attributes

Returns a BigInt whose value is (the inverse of this modulo m).

Returns a BigInt whose value is (the inverse of this modulo m).

Attributes

Returns a BigInt whose value is (this raised to the power of exp modulo m).

Returns a BigInt whose value is (this raised to the power of exp modulo m).

Attributes

def pow(exp: Int): BigInt

Returns a BigInt whose value is (this raised to the power of exp).

Returns a BigInt whose value is (this raised to the power of exp).

Attributes

def setBit(n: Int): BigInt

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.

Attributes

override def shortValue: Short

Converts this BigInt to a short. 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.

Converts this BigInt to a short. 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.

Attributes

Definition Classes
def sign: BigInt

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.

Attributes

def signum: Int

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.

Attributes

def testBit(n: Int): Boolean

Returns true if and only if the designated bit is set.

Returns true if and only if the designated bit is set.

Attributes

def to(end: BigInt, step: BigInt = ...): Inclusive[BigInt]

Like until, but inclusive of the end value.

Like until, but inclusive of the end value.

Attributes

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 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.

Attributes

override def toString(): String

Returns the decimal String representation of this BigInt.

Returns the decimal String representation of this BigInt.

Attributes

Definition Classes
Any

Returns the String representation in the specified radix of this BigInt.

Returns the String representation in the specified radix of this BigInt.

Attributes

Returns a BigInt whose value is the negation of this BigInt

Returns a BigInt whose value is the negation of this BigInt

Attributes

Returns the bitwise complement of this BigInt

Returns the bitwise complement of this BigInt

Attributes

Create a NumericRange[BigInt] in range [start;end) with the specified step, where start is the target BigInt.

Create a NumericRange[BigInt] in range [start;end) with the specified step, where start is the target BigInt.

Value parameters

end

the end value of the range (exclusive)

step

the distance between elements (defaults to 1)

Attributes

Returns

the range

def |(that: BigInt): BigInt

Bitwise or of BigInts

Bitwise or of BigInts

Attributes

Deprecated methods

Attributes

Returns

'''true''' if this number has no decimal component, '''false''' otherwise.

Deprecated
[Since version 2.12.15] isWhole on an integer type is always true

Inherited methods

def <(that: BigInt): Boolean

Returns true if this is less than that

Returns true if this is less than that

Attributes

Inherited from:
Ordered

Returns true if this is less than or equal to that.

Returns true if this is less than or equal to that.

Attributes

Inherited from:
Ordered
def >(that: BigInt): Boolean

Returns true if this is greater than that.

Returns true if this is greater than that.

Attributes

Inherited from:
Ordered

Returns true if this is greater than or equal to that.

Returns true if this is greater than or equal to that.

Attributes

Inherited from:
Ordered

Result of comparing this with operand that.

Result of comparing this with operand that.

Attributes

Inherited from:
Ordered
def toByte: Byte

Returns the value of this as a scala.Byte. This may involve rounding or truncation.

Returns the value of this as a scala.Byte. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
def toChar: Char

Returns the value of this as a scala.Char. This may involve rounding or truncation.

Returns the value of this as a scala.Char. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions

Returns the value of this as a scala.Double. This may involve rounding or truncation.

Returns the value of this as a scala.Double. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
def toFloat: Float

Returns the value of this as a scala.Float. This may involve rounding or truncation.

Returns the value of this as a scala.Float. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
def toInt: Int

Returns the value of this as an scala.Int. This may involve rounding or truncation.

Returns the value of this as an scala.Int. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
def toLong: Long

Returns the value of this as a scala.Long. This may involve rounding or truncation.

Returns the value of this as a scala.Long. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
def toShort: Short

Returns the value of this as a scala.Short. This may involve rounding or truncation.

Returns the value of this as a scala.Short. This may involve rounding or truncation.

Attributes

Inherited from:
ScalaNumericAnyConversions
protected def unifiedPrimitiveEquals(x: Any): Boolean

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.

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.

Attributes

Inherited from:
ScalaNumericAnyConversions
protected def unifiedPrimitiveHashcode: Int

Attributes

Inherited from:
ScalaNumericAnyConversions