scala.math

BigInt

class BigInt extends ScalaNumber with ScalaNumericConversions with Serializable

Source
BigInt.scala
Version

1.0, 15/07/2003

Linear Supertypes
Serializable, ScalaNumericConversions, ScalaNumber, Number, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. BigInt
  2. Serializable
  3. ScalaNumericConversions
  4. ScalaNumber
  5. Number
  6. Serializable
  7. AnyRef
  8. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BigInt(bigInteger: BigInteger)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    Any
  3. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types.

    Equivalent to x.hashCode except for boxed numeric types. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  4. def %(that: BigInt): BigInt

    Remainder of BigInts

  5. def &(that: BigInt): BigInt

    Bitwise and of BigInts

  6. def &~(that: BigInt): BigInt

    Bitwise and-not of BigInts.

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

  7. def *(that: BigInt): BigInt

    Multiplication of BigInts

  8. def +(that: BigInt): BigInt

    Addition of BigInts

  9. def -(that: BigInt): BigInt

    Subtraction of BigInts

  10. def /(that: BigInt): BigInt

    Division of BigInts

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

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

  12. def <(that: BigInt): Boolean

    Less-than of BigInts

  13. def <<(n: Int): BigInt

    Leftshift of BigInt

  14. def <=(that: BigInt): Boolean

    Less-than-or-equals comparison of BigInts

  15. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    Any
  17. def >(that: BigInt): Boolean

    Greater-than comparison of BigInts

  18. def >=(that: BigInt): Boolean

    Greater-than-or-equals comparison of BigInts

  19. def >>(n: Int): BigInt

    (Signed) rightshift of BigInt

  20. def ^(that: BigInt): BigInt

    Bitwise exclusive-or of BigInts

  21. def abs: BigInt

    Returns the absolute value of this BigInt

  22. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown
    ClassCastException

    if the receiver object is not an instance of the erasure of type T0.

  23. val bigInteger: BigInteger

  24. def bitCount: Int

    Returns the number of bits in the two's complement representation of this BigInt that differ from its sign bit.

  25. def bitLength: Int

    Returns the number of bits in the minimal two's-complement representation of this BigInt, excluding a sign bit.

  26. def byteValue(): Byte

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

    Definition Classes
    BigInt → Number
  27. def charValue: Char

    Converts this BigInt to a char.

    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.

  28. def clearBit(n: Int): BigInt

    Returns a BigInt whose value is equivalent to this BigInt with the designated bit cleared.

  29. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  30. def compare(that: BigInt): Int

    Compares this BigInt with the specified BigInt

  31. def doubleValue(): Double

    Converts this BigInt to a double.

    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.

    Definition Classes
    BigInt → Number
  32. final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  33. def equals(that: BigInt): Boolean

    Compares this BigInt with the specified BigInt for equality.

  34. def equals(that: Any): Boolean

    Compares this BigInt with the specified value for equality.

    Compares this BigInt with the specified value for equality.

    that

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    BigInt → AnyRef → Any
  35. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  36. def flipBit(n: Int): BigInt

    Returns a BigInt whose value is equivalent to this BigInt with the designated bit flipped.

  37. def floatValue(): Float

    Converts this BigInt to a float.

    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.

    Definition Classes
    BigInt → Number
  38. def gcd(that: BigInt): BigInt

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

  39. final def getClass(): java.lang.Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  40. def hashCode(): Int

    Returns the hash code for this BigInt.

    Returns the hash code for this BigInt.

    returns

    the hash code value for this object.

    Definition Classes
    BigInt → AnyRef → Any
  41. def intValue(): Int

    Converts this BigInt to an int.

    Converts this BigInt to an int. If the BigInt is too big to fit in a char, 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.

    Definition Classes
    BigInt → Number
  42. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  43. def isProbablePrime(certainty: Int): Boolean

    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.

    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.

  44. def isValidByte: Boolean

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

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

    Definition Classes
    ScalaNumericConversions
  45. def isValidChar: Boolean

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

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

    Definition Classes
    ScalaNumericConversions
  46. def isValidInt: Boolean

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

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

    Definition Classes
    ScalaNumericConversions
  47. def isValidShort: Boolean

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

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

    Definition Classes
    ScalaNumericConversions
  48. def isWhole(): Boolean

    Attributes
    protected[math]
    Definition Classes
    BigInt → ScalaNumber
  49. def longValue(): Long

    Converts this BigInt to a long.

    Converts this BigInt to a long. If the BigInt is too big to fit in a char, 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.

    Definition Classes
    BigInt → Number
  50. def lowestSetBit: Int

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

  51. def max(that: BigInt): BigInt

    Returns the maximum of this and that

  52. def min(that: BigInt): BigInt

    Returns the minimum of this and that

  53. def mod(that: BigInt): BigInt

    Returns a BigInt whose value is (this mod m).

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

  54. def modInverse(m: BigInt): BigInt

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

  55. def modPow(exp: BigInt, m: BigInt): BigInt

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

  56. final def ne(arg0: AnyRef): Boolean

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  57. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  58. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  59. def pow(exp: Int): BigInt

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

  60. def setBit(n: Int): BigInt

    Returns a BigInt whose value is equivalent to this BigInt with the designated bit set.

  61. def shortValue(): Short

    Converts this BigInt to a short.

    Converts this BigInt to a short. If the BigInt is too big to fit in a byte, 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.

    Definition Classes
    BigInt → Number
  62. def signum: Int

    Returns the sign of this BigInt, i.

    Returns the sign of this BigInt, i.e. -1 if it is less than 0, +1 if it is greater than 0 0 if it is equal to 0

  63. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  64. def testBit(n: Int): Boolean

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

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

    Like until, but inclusive of the end value.

  66. def toByte: Byte

    Returns the value of this as a Byte.

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

    Definition Classes
    ScalaNumericConversions
  67. def toByteArray: Array[Byte]

    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.

  68. def toChar: Char

    Returns the value of this as a Char.

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

    Definition Classes
    ScalaNumericConversions
  69. def toDouble: Double

    Returns the value of this as a Double.

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

    Definition Classes
    ScalaNumericConversions
  70. def toFloat: Float

    Returns the value of this as a Float.

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

    Definition Classes
    ScalaNumericConversions
  71. def toInt: Int

    Returns the value of this as an Int.

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

    Definition Classes
    ScalaNumericConversions
  72. def toLong: Long

    Returns the value of this as a Long.

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

    Definition Classes
    ScalaNumericConversions
  73. def toShort: Short

    Returns the value of this as a Short.

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

    Definition Classes
    ScalaNumericConversions
  74. def toString(radix: Int): String

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

  75. def toString(): String

    Returns the decimal String representation of this BigInt.

    Returns the decimal String representation of this BigInt.

    returns

    a String representation of the object.

    Definition Classes
    BigInt → AnyRef → Any
  76. def unary_-: BigInt

    Returns a BigInt whose value is the negation of this BigInt

  77. def unary_~: BigInt

    Returns the bitwise complement of this BigInt

  78. def underlying(): BigInteger

    Definition Classes
    BigInt → ScalaNumber
  79. def unifiedPrimitiveEquals(x: Any): Boolean

    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.

    Attributes
    protected
    Definition Classes
    ScalaNumericConversions
  80. def unifiedPrimitiveHashcode(): Int

    Attributes
    protected
    Definition Classes
    ScalaNumericConversions
  81. def until(end: BigInt, step: BigInt = BigInt(1)): Exclusive[BigInt]

    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.

    end

    the end value of the range (exclusive)

    step

    the distance between elements (defaults to 1)

    returns

    the range

  82. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  83. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  84. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  85. def |(that: BigInt): BigInt

    Bitwise or of BigInts

Deprecated Value Members

  1. def ~: BigInt

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use ~bigInt (the unary_~ method) instead

Inherited from Serializable

Inherited from ScalaNumericConversions

Inherited from ScalaNumber

Inherited from Number

Inherited from Serializable

Inherited from AnyRef

Inherited from Any