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: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

  4. def &(rhs: SafeLong): SafeLong

  5. def *(rhs: SafeLong): SafeLong

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

  7. def +(rhs: SafeLong): SafeLong

  8. def -(rhs: SafeLong): SafeLong

  9. def /(rhs: SafeLong): SafeLong

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

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

  12. def <(that: SafeLong): Boolean

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

    Definition Classes
    Ordered
  14. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def >(that: SafeLong): Boolean

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

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

  18. def abs: SafeLong

  19. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  20. def bitLength: Int

  21. def byteValue(): Byte

    Definition Classes
    Number
  22. def clone(): AnyRef

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

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  27. 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.

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

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

    Definition Classes
    AnyRef → Any
  30. def isBigInt: Boolean

  31. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  32. def isLong: Boolean

  33. def isProbablePrime(c: Int): Boolean

  34. def isValidByte: Boolean

    Definition Classes
    ScalaNumericAnyConversions
  35. def isValidChar: Boolean

    Definition Classes
    ScalaNumericAnyConversions
  36. def isValidInt: Boolean

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  37. def isValidLong: Boolean

  38. def isValidShort: Boolean

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

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

  41. def max(that: SafeLong): SafeLong

  42. def min(that: SafeLong): SafeLong

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

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

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

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

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

  48. def shortValue(): Short

    Definition Classes
    Number
  49. def signum: Int

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

    Definition Classes
    AnyRef
  51. def toByte: Byte

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  52. def toChar: Char

    Definition Classes
    ScalaNumericAnyConversions
  53. def toDouble: Double

    Definition Classes
    ScalaNumericAnyConversions
  54. def toFloat: Float

    Definition Classes
    ScalaNumericAnyConversions
  55. def toInt: Int

    Definition Classes
    SafeLong → ScalaNumericAnyConversions
  56. def toLong: Long

    Definition Classes
    ScalaNumericAnyConversions
  57. def toShort: Short

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

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

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. 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