spire.math

SafeLong

sealed trait SafeLong extends ScalaNumber with ScalaNumericConversions with Ordered[SafeLong]

Provides a type to do safe long arithmetic. This type will never overflow, but rather convert the underlying long to a BigInt as need and back down to a Long when possible.

Self Type
SafeLong
Linear Supertypes
Ordered[SafeLong], Comparable[SafeLong], ScalaNumericConversions, ScalaNumericAnyConversions, ScalaNumber, java.lang.Number, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SafeLong
  2. Ordered
  3. Comparable
  4. ScalaNumericConversions
  5. ScalaNumericAnyConversions
  6. ScalaNumber
  7. Number
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def %(rhs: BigInt): SafeLong

  2. abstract def %(rhs: Long): SafeLong

  3. abstract def &(rhs: BigInt): SafeLong

  4. abstract def &(rhs: Long): SafeLong

  5. abstract def *(rhs: BigInt): SafeLong

  6. abstract def *(rhs: Long): SafeLong

  7. abstract def +(rhs: BigInt): SafeLong

  8. abstract def +(rhs: Long): SafeLong

  9. abstract def -(rhs: BigInt): SafeLong

  10. abstract def -(rhs: Long): SafeLong

  11. abstract def /(rhs: BigInt): SafeLong

  12. abstract def /(rhs: Long): SafeLong

  13. abstract def /%(rhs: BigInt): (SafeLong, SafeLong)

  14. abstract def /%(rhs: Long): (SafeLong, SafeLong)

  15. abstract def <<(n: Int): SafeLong

  16. abstract def >>(n: Int): SafeLong

  17. abstract def ^(rhs: BigInt): SafeLong

  18. abstract def ^(rhs: Long): SafeLong

  19. abstract def compare(that: SafeLong): Int

    Definition Classes
    Ordered
  20. abstract def doubleValue(): Double

    Definition Classes
    ScalaNumericAnyConversions
  21. abstract def floatValue(): Float

    Definition Classes
    ScalaNumericAnyConversions
  22. abstract def fold[A, B <: A, C <: A](f: (Long) ⇒ B, g: (BigInt) ⇒ C): A

  23. abstract def gcd(that: SafeLong): SafeLong

  24. abstract def intValue(): Int

    Definition Classes
    ScalaNumericAnyConversions
  25. abstract def longValue(): Long

    Definition Classes
    ScalaNumericAnyConversions
  26. abstract def toBigDecimal: BigDecimal

  27. abstract def toBigInt: BigInt

  28. abstract def unary_-(): SafeLong

  29. abstract def underlying(): AnyRef

    Definition Classes
    ScalaNumericConversions → ScalaNumericAnyConversions → ScalaNumber
  30. abstract def |(rhs: BigInt): SafeLong

  31. abstract def |(rhs: Long): SafeLong

Concrete Value Members

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

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

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

    Definition Classes
    AnyRef → Any
  4. def %(rhs: SafeLong): SafeLong

  5. def &(rhs: SafeLong): SafeLong

  6. def *(rhs: SafeLong): SafeLong

  7. final def **(rhs: Int): SafeLong

    Exponentiation function, e.

    Exponentiation function, e.g. x^y

    If base^exponent doesn't fit in a Long, the result will overflow (unlike scala.math.pow which will return +/- Infinity).

  8. def +(rhs: SafeLong): SafeLong

  9. def -(rhs: SafeLong): SafeLong

  10. def /(rhs: SafeLong): SafeLong

  11. def /%(rhs: SafeLong): (SafeLong, SafeLong)

  12. def /~(rhs: SafeLong): SafeLong

  13. def <(that: SafeLong): Boolean

    Definition Classes
    Ordered
  14. def <=(that: SafeLong): Boolean

    Definition Classes
    Ordered
  15. final def ==(arg0: AnyRef): Boolean

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

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

    Definition Classes
    Ordered
  18. def >=(that: SafeLong): Boolean

    Definition Classes
    Ordered
  19. def ^(rhs: SafeLong): SafeLong

  20. def abs: SafeLong

  21. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  22. def bitLength: Int

  23. def byteValue(): Byte

    Definition Classes
    Number
  24. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. def compareTo(that: SafeLong): Int

    Definition Classes
    Ordered → Comparable
  26. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  29. def foldWith[A, B <: A, C <: A](that: SafeLong)(f: (Long, Long) ⇒ B, g: (BigInt, BigInt) ⇒ C): A

    If this SafeLong is backed by a Long and that SafeLong is backed by a Long as well, then f will be called with both values.

    If this SafeLong is backed by a Long and that SafeLong is backed by a Long as well, then f will be called with both values. Otherwise, this and that will be converted to BigInts and g will be called with these BigInts.

  30. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  31. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  32. def isBigInt: Boolean

  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. def isLong: Boolean

  35. def isProbablePrime(c: Int): Boolean

  36. def isValidByte: Boolean

    Definition Classes
    ScalaNumericAnyConversions
  37. def isValidChar: Boolean

    Definition Classes
    ScalaNumericAnyConversions
  38. def isValidInt: Boolean

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  39. def isValidLong: Boolean

  40. def isValidShort: Boolean

    Definition Classes
    ScalaNumericAnyConversions
  41. final def isWhole(): Boolean

    Definition Classes
    SafeLong → ScalaNumericAnyConversions → ScalaNumber
  42. def map(f: (Long) ⇒ Long, g: (BigInt) ⇒ BigInt): SafeLong

  43. def max(that: SafeLong): SafeLong

  44. def min(that: SafeLong): SafeLong

  45. final def modPow(exp: Int, mod: SafeLong): SafeLong

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

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

    Definition Classes
    AnyRef
  48. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  49. final def pow(rhs: Int): SafeLong

  50. def shortValue(): Short

    Definition Classes
    Number
  51. def signum: Int

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

    Definition Classes
    AnyRef
  53. def toByte: Byte

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  54. def toChar: Char

    Definition Classes
    ScalaNumericAnyConversions
  55. def toDouble: Double

    Definition Classes
    ScalaNumericAnyConversions
  56. def toFloat: Float

    Definition Classes
    ScalaNumericAnyConversions
  57. def toInt: Int

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  58. def toLong: Long

    Definition Classes
    ScalaNumericAnyConversions
  59. def toShort: Short

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  60. def toString(): String

    Definition Classes
    SafeLong → AnyRef → Any
  61. def unifiedPrimitiveEquals(x: Any): Boolean

    Attributes
    protected
    Definition Classes
    ScalaNumericAnyConversions
  62. def unifiedPrimitiveHashcode(): Int

    Attributes
    protected
    Definition Classes
    ScalaNumericAnyConversions
  63. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. def |(rhs: SafeLong): SafeLong

Inherited from Ordered[SafeLong]

Inherited from Comparable[SafeLong]

Inherited from ScalaNumericConversions

Inherited from ScalaNumericAnyConversions

Inherited from ScalaNumber

Inherited from java.lang.Number

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped