scala

Double

final class Double extends AnyVal

Double, a 64-bit IEEE-754 floating point number (equivalent to Java's double primitive type) is a subtype of AnyVal. Instances of Double are not represented by an object in the underlying runtime system.

There is an implicit conversion from Double => RichDouble which provides useful non-primitive operations.

Source
Double.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Double
  2. AnyVal
  3. NotNull
  4. Any
Implicitly
  1. by double2Double
  2. by doubleWrapper
  3. by any2stringfmt
  4. by any2stringadd
  5. by any2ArrowAssoc
  6. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Double()

Value Members

  1. def !=(x: Double): Boolean

    Returns true if this value is not equal to x, false otherwise.

  2. def !=(x: Float): Boolean

    Returns true if this value is not equal to x, false otherwise.

  3. def !=(x: Long): Boolean

    Returns true if this value is not equal to x, false otherwise.

  4. def !=(x: Int): Boolean

    Returns true if this value is not equal to x, false otherwise.

  5. def !=(x: Char): Boolean

    Returns true if this value is not equal to x, false otherwise.

  6. def !=(x: Short): Boolean

    Returns true if this value is not equal to x, false otherwise.

  7. def !=(x: Byte): Boolean

    Returns true if this value is not equal to x, false otherwise.

  8. 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
  9. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. 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. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

    Definition Classes
    Any
  10. def %(x: Double): Double

    Returns the remainder of the division of this value by x.

  11. def %(x: Float): Double

    Returns the remainder of the division of this value by x.

  12. def %(x: Long): Double

    Returns the remainder of the division of this value by x.

  13. def %(x: Int): Double

    Returns the remainder of the division of this value by x.

  14. def %(x: Char): Double

    Returns the remainder of the division of this value by x.

  15. def %(x: Short): Double

    Returns the remainder of the division of this value by x.

  16. def %(x: Byte): Double

    Returns the remainder of the division of this value by x.

  17. def *(x: Double): Double

    Returns the product of this value and x.

  18. def *(x: Float): Double

    Returns the product of this value and x.

  19. def *(x: Long): Double

    Returns the product of this value and x.

  20. def *(x: Int): Double

    Returns the product of this value and x.

  21. def *(x: Char): Double

    Returns the product of this value and x.

  22. def *(x: Short): Double

    Returns the product of this value and x.

  23. def *(x: Byte): Double

    Returns the product of this value and x.

  24. def +(x: Double): Double

    Returns the sum of this value and x.

  25. def +(x: Float): Double

    Returns the sum of this value and x.

  26. def +(x: Long): Double

    Returns the sum of this value and x.

  27. def +(x: Int): Double

    Returns the sum of this value and x.

  28. def +(x: Char): Double

    Returns the sum of this value and x.

  29. def +(x: Short): Double

    Returns the sum of this value and x.

  30. def +(x: Byte): Double

    Returns the sum of this value and x.

  31. def +(x: String): String

  32. def -(x: Double): Double

    Returns the difference of this value and x.

  33. def -(x: Float): Double

    Returns the difference of this value and x.

  34. def -(x: Long): Double

    Returns the difference of this value and x.

  35. def -(x: Int): Double

    Returns the difference of this value and x.

  36. def -(x: Char): Double

    Returns the difference of this value and x.

  37. def -(x: Short): Double

    Returns the difference of this value and x.

  38. def -(x: Byte): Double

    Returns the difference of this value and x.

  39. def ->[B](y: B): (Double, B)

    Implicit information
    This member is added by an implicit conversion from Double to ArrowAssoc[Double] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  40. def /(x: Double): Double

    Returns the quotient of this value and x.

  41. def /(x: Float): Double

    Returns the quotient of this value and x.

  42. def /(x: Long): Double

    Returns the quotient of this value and x.

  43. def /(x: Int): Double

    Returns the quotient of this value and x.

  44. def /(x: Char): Double

    Returns the quotient of this value and x.

  45. def /(x: Short): Double

    Returns the quotient of this value and x.

  46. def /(x: Byte): Double

    Returns the quotient of this value and x.

  47. def <(x: Double): Boolean

    Returns true if this value is less than x, false otherwise.

  48. def <(x: Float): Boolean

    Returns true if this value is less than x, false otherwise.

  49. def <(x: Long): Boolean

    Returns true if this value is less than x, false otherwise.

  50. def <(x: Int): Boolean

    Returns true if this value is less than x, false otherwise.

  51. def <(x: Char): Boolean

    Returns true if this value is less than x, false otherwise.

  52. def <(x: Short): Boolean

    Returns true if this value is less than x, false otherwise.

  53. def <(x: Byte): Boolean

    Returns true if this value is less than x, false otherwise.

  54. def <=(x: Double): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  55. def <=(x: Float): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  56. def <=(x: Long): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  57. def <=(x: Int): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  58. def <=(x: Char): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  59. def <=(x: Short): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  60. def <=(x: Byte): Boolean

    Returns true if this value is less than or equal to x, false otherwise.

  61. def ==(x: Double): Boolean

    Returns true if this value is equal to x, false otherwise.

  62. def ==(x: Float): Boolean

    Returns true if this value is equal to x, false otherwise.

  63. def ==(x: Long): Boolean

    Returns true if this value is equal to x, false otherwise.

  64. def ==(x: Int): Boolean

    Returns true if this value is equal to x, false otherwise.

  65. def ==(x: Char): Boolean

    Returns true if this value is equal to x, false otherwise.

  66. def ==(x: Short): Boolean

    Returns true if this value is equal to x, false otherwise.

  67. def ==(x: Byte): Boolean

    Returns true if this value is equal to x, false otherwise.

  68. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality. The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

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

    Definition Classes
    Any
  69. def >(x: Double): Boolean

    Returns true if this value is greater than x, false otherwise.

  70. def >(x: Float): Boolean

    Returns true if this value is greater than x, false otherwise.

  71. def >(x: Long): Boolean

    Returns true if this value is greater than x, false otherwise.

  72. def >(x: Int): Boolean

    Returns true if this value is greater than x, false otherwise.

  73. def >(x: Char): Boolean

    Returns true if this value is greater than x, false otherwise.

  74. def >(x: Short): Boolean

    Returns true if this value is greater than x, false otherwise.

  75. def >(x: Byte): Boolean

    Returns true if this value is greater than x, false otherwise.

  76. def >=(x: Double): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  77. def >=(x: Float): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  78. def >=(x: Long): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  79. def >=(x: Int): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  80. def >=(x: Char): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  81. def >=(x: Short): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  82. def >=(x: Byte): Boolean

    Returns true if this value is greater than or equal to x, false otherwise.

  83. def abs: Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy
  84. 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.

  85. def byteValue(): Byte

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  86. def byteValue(): Byte

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    Number
  87. def ceil: Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  88. def compare(y: Double): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Implement this method to determine how instances of A will be sorted.

    Returns x where:

    • x < 0 when this < that
    • x == 0 when this == that
    • x > 0 when this > that
    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    OrderedProxyOrdered
  89. def compareTo(arg0: Double): Int

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Comparable
  90. def compareTo(that: Double): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    Ordered → Comparable
  91. def doubleValue(): Double

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  92. def doubleValue(): Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy → Number
  93. def ensuring(cond: (Double) ⇒ Boolean, msg: ⇒ Any): Double

    Implicit information
    This member is added by an implicit conversion from Double to Ensuring[Double] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  94. def ensuring(cond: (Double) ⇒ Boolean): Double

    Implicit information
    This member is added by an implicit conversion from Double to Ensuring[Double] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  95. def ensuring(cond: Boolean, msg: ⇒ Any): Double

    Implicit information
    This member is added by an implicit conversion from Double to Ensuring[Double] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  96. def ensuring(cond: Boolean): Double

    Implicit information
    This member is added by an implicit conversion from Double to Ensuring[Double] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  97. def equals(arg0: Any): Boolean

    Compares the receiver object (this) with the argument object (that) for equivalence.

    Compares the receiver object (this) with the argument object (that) for equivalence.

    Any implementation of this method should be an equivalence relation:

    • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
    • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
    • It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same Int. (o1.hashCode.equals(o2.hashCode)).

    returns

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

    Definition Classes
    Any
  98. def floatValue(): Float

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  99. def floatValue(): Float

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy → Number
  100. def floor: Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  101. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from Double to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  102. def getClass(): Class[Double]

    Returns the runtime class representation of the object.

    Returns the runtime class representation of the object.

    returns

    a class object corresponding to the runtime type of the receiver.

    Definition Classes
    DoubleAnyValAny
  103. def hashCode(): Int

    Calculate a hash code value for the object.

    Calculate a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    returns

    the hash code value for this object.

    Definition Classes
    Any
  104. def intValue(): Int

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  105. def intValue(): Int

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy → Number
  106. def isInfinite(): Boolean

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double
  107. def isInfinity: Boolean

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  108. 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
  109. def isNaN(): Boolean

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double
  110. def isNegInfinity: Boolean

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  111. def isPosInfinity: Boolean

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  112. 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.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleScalaNumericConversions
  113. 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.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleScalaNumericConversions
  114. 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.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleScalaNumericConversions
  115. 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.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleScalaNumericConversions
  116. def isWhole(): Boolean

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleFractionalProxy → ScalaNumber
  117. def longValue(): Long

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  118. def longValue(): Long

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy → Number
  119. def max(that: Double): Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy
  120. def min(that: Double): Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy
  121. def round: Long

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  122. val self: Double

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDoubleTypedProxy
  123. val self: Any

    Implicit information
    This member is added by an implicit conversion from Double to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
  124. val self: Any

    Implicit information
    This member is added by an implicit conversion from Double to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  125. def shortValue(): Short

    Implicit information
    This member is added by an implicit conversion from Double to Double performed by method double2Double in scala.Predef.
    Definition Classes
    Double → Number
  126. def shortValue(): Short

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    Number
  127. def signum: Int

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy
  128. def to(end: Double, step: Double): Inclusive[Double]

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    FractionalProxyRangedProxy
  129. def to(end: Double): Partial[Double, NumericRange[Double]]

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    FractionalProxyRangedProxy
  130. def toByte: Byte

  131. def toChar: Char

  132. def toDegrees: Double

    Converts an angle measured in radians to an approximately equivalent angle measured in degrees.

    Converts an angle measured in radians to an approximately equivalent angle measured in degrees.

    returns

    the measurement of the angle x in degrees.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  133. def toDouble: Double

  134. def toFloat: Float

  135. def toInt: Int

  136. def toLong: Long

  137. def toRadians: Double

    Converts an angle measured in degrees to an approximately equivalent angle measured in radians.

    Converts an angle measured in degrees to an approximately equivalent angle measured in radians.

    returns

    the measurement of the angle x in radians.

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    RichDouble
  138. def toShort: Short

  139. def toString(): String

    Returns a string representation of the object.

    Returns a string representation of the object.

    The default representation is platform dependent.

    returns

    a string representation of the object.

    Definition Classes
    Any
  140. def unary_+: Double

    Returns this value, unmodified.

  141. def unary_-: Double

    Returns the negation of this value.

  142. def underlying(): AnyRef

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    ScalaNumberProxy → ScalaNumber
  143. def until(end: Double, step: Double): Exclusive[Double]

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    FractionalProxyRangedProxy
  144. def until(end: Double): Partial[Double, NumericRange[Double]]

    Implicit information
    This member is added by an implicit conversion from Double to RichDouble performed by method doubleWrapper in scala.LowPriorityImplicits.
    Definition Classes
    FractionalProxyRangedProxy
  145. def [B](y: B): (Double, B)

    Implicit information
    This member is added by an implicit conversion from Double to ArrowAssoc[Double] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def x: Double

    Implicit information
    This member is added by an implicit conversion from Double to ArrowAssoc[Double] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: Double

    Implicit information
    This member is added by an implicit conversion from Double to Ensuring[Double] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AnyVal

Inherited from NotNull

Inherited from Any

Inherited by implicit conversion double2Double from Double to Double

Inherited by implicit conversion doubleWrapper from Double to RichDouble

Inherited by implicit conversion any2stringfmt from Double to StringFormat

Inherited by implicit conversion any2stringadd from Double to StringAdd

Inherited by implicit conversion any2ArrowAssoc from Double to ArrowAssoc[Double]

Inherited by implicit conversion any2Ensuring from Double to Ensuring[Double]