final class PosDouble extends AnyVal
An AnyVal for positive Doubles.
Note: a PosDouble may not equal 0. If you want positive
number or 0, use PosZDouble.
Because PosDouble is an AnyVal it
will usually be as efficient as an Double, being
boxed only when a Double would have been boxed.
The PosDouble.apply factory method is
implemented in terms of a macro that checks literals for
validity at compile time. Calling
PosDouble.apply with a literal
Double value will either produce a valid
PosDouble instance at run time or an error at
compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> PosDouble(1.0)
res1: org.scalactic.anyvals.PosDouble = PosDouble(1.0)
scala> PosDouble(0.0)
<console>:14: error: PosDouble.apply can only be invoked on a positive (i > 0.0) floating point literal, like PosDouble(42.0).
              PosDouble(0.0)
                       ^
PosDouble.apply cannot be used if the value
being passed is a variable (i.e., not a literal),
because the macro cannot determine the validity of variables
at compile time (just literals). If you try to pass a
variable to PosDouble.apply, you'll get a
compiler error that suggests you use a different factor
method, PosDouble.from, instead:
scala> val x = 1.0
x: Double = 1.0
scala> PosDouble(x)
<console>:15: error: PosDouble.apply can only be invoked on a floating point literal, like PosDouble(42.0). Please use PosDouble.from instead.
              PosDouble(x)
                       ^
The PosDouble.from factory method will inspect
the value at runtime and return an
Option[PosDouble]. If the value is valid,
PosDouble.from will return a
Some[PosDouble], else it will return a
None.  Here's an example:
scala> PosDouble.from(x) res4: Option[org.scalactic.anyvals.PosDouble] = Some(PosDouble(1.0)) scala> val y = 0.0 y: Double = 0.0 scala> PosDouble.from(y) res5: Option[org.scalactic.anyvals.PosDouble] = None
The PosDouble.apply factory method is marked
implicit, so that you can pass literal Doubles
into methods that require PosDouble, and get the
same compile-time checking you get when calling
PosDouble.apply explicitly. Here's an example:
scala> def invert(pos: PosDouble): Double = Double.MaxValue - pos
invert: (pos: org.scalactic.anyvals.PosDouble)Double
scala> invert(1.1)
res6: Double = 1.7976931348623157E308
scala> invert(Double.MaxValue)
res8: Double = 0.0
scala> invert(0.0)
<console>:15: error: PosDouble.apply can only be invoked on a positive (i > 0.0) floating point literal, like PosDouble(42.0).
              invert(0.0)
                     ^
scala> invert(-1.0)
<console>:15: error: PosDouble.apply can only be invoked on a positive (i > 0.0) floating point literal, like PosDouble(42.0).
              invert(-1.0)
                      ^
This example also demonstrates that the
PosDouble companion object also defines implicit
widening conversions when a similar conversion is provided in
Scala. This makes it convenient to use a
PosDouble where a Double is
needed. An example is the subtraction in the body of the
invert method defined above,
Double.MaxValue - pos. Although
Double.MaxValue is a Double, which
has no - method that takes a
PosDouble (the type of pos), you
can still subtract pos, because the
PosDouble will be implicitly widened to
Double.
- Source
 - PosDouble.scala
 
- Alphabetic
 - By Inheritance
 
- PosDouble
 - AnyVal
 - Any
 
- Hide All
 - Show All
 
- Public
 - All
 
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Double): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Float): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Long): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Int): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Char): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Short): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        %(x: Byte): Double
      
      
      
Returns the remainder of the division of this value by
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Double): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Float): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Long): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Int): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Char): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Short): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        *(x: Byte): Double
      
      
      
Returns the product of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Double): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Float): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Long): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Int): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Char): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Short): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: Byte): Double
      
      
      
Returns the sum of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        +(x: String): String
      
      
      
Converts this
PosDouble's value to a string then concatenates the given string. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Double): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Float): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Long): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Int): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Char): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Short): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        -(x: Byte): Double
      
      
      
Returns the difference of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Double): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Float): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Long): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Int): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Char): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Short): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        /(x: Byte): Double
      
      
      
Returns the quotient of this value and
x. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Double): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Float): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Long): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Int): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Char): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Short): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <(x: Byte): Boolean
      
      
      
Returns
trueif this value is less than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Double): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Float): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Long): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Int): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Char): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Short): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        <=(x: Byte): Boolean
      
      
      
Returns
trueif this value is less than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Double): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Float): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Long): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Int): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Char): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Short): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >(x: Byte): Boolean
      
      
      
Returns
trueif this value is greater than x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Double): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Float): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Long): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Int): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Char): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Short): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        >=(x: Byte): Boolean
      
      
      
Returns
trueif this value is greater than or equal to x,falseotherwise. - 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      
- Definition Classes
 - Any
 
 -  def ceil: PosDouble
 -  def floor: PosZDouble
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getClass(): Class[_ <: AnyVal]
      
      
      
- Definition Classes
 - AnyVal → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      
- Definition Classes
 - Any
 
 -  def isPosInfinity: Boolean
 -  def isWhole: Boolean
 - 
      
      
      
        
      
    
      
        
        def
      
      
        max(that: PosDouble): PosDouble
      
      
      
Returns
thisifthis > thatorthatotherwise. - 
      
      
      
        
      
    
      
        
        def
      
      
        min(that: PosDouble): PosDouble
      
      
      
Returns
thisifthis < thatorthatotherwise. -  def round: PosZLong
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toByte: Byte
      
      
      
Converts this
PosDoubleto aByte. - 
      
      
      
        
      
    
      
        
        def
      
      
        toChar: Char
      
      
      
Converts this
PosDoubleto aChar. - 
      
      
      
        
      
    
      
        
        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.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toDouble: Double
      
      
      
Converts this
PosDoubleto aDouble. - 
      
      
      
        
      
    
      
        
        def
      
      
        toFloat: Float
      
      
      
Converts this
PosDoubleto aFloat. - 
      
      
      
        
      
    
      
        
        def
      
      
        toInt: Int
      
      
      
Converts this
PosDoubleto anInt. - 
      
      
      
        
      
    
      
        
        def
      
      
        toLong: Long
      
      
      
Converts this
PosDoubleto aLong. - 
      
      
      
        
      
    
      
        
        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.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toShort: Short
      
      
      
Converts this
PosDoubleto aShort. - 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      
A string representation of this
PosDouble.A string representation of this
PosDouble.- Definition Classes
 - PosDouble → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        unary_+: PosDouble
      
      
      
Returns this value, unmodified.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        unary_-: Double
      
      
      
Returns the negation of this value.
 -  val value: Double
 
Deprecated Value Members
- 
      
      
      
        
      
    
      
        
        def
      
      
        to(end: Double, step: Double): Inclusive[Double]
      
      
      
Create an inclusive
Rangefrom thisPosDoublevalue to the specifiedendwith the specifiedstepvalue.Create an inclusive
Rangefrom thisPosDoublevalue to the specifiedendwith the specifiedstepvalue.- end
 The final bound of the range to make.
- step
 The number to increase by for each step of the range.
- returns
 A scala.collection.immutable.NumericRange.Inclusive[Double] from
thisup to and includingend.
- Annotations
 - @deprecated
 - Deprecated
 This function will be removed in future version of Scalactic, use BigDecimal's to function instead
 - 
      
      
      
        
      
    
      
        
        def
      
      
        to(end: Double): Partial[Double, NumericRange[Double]]
      
      
      
Create an inclusive
Range.Partialfrom thisPosDoublevalue to the specifiedendwith step value 1.Create an inclusive
Range.Partialfrom thisPosDoublevalue to the specifiedendwith step value 1.- end
 The final bound of the range to make.
- returns
 A NumericRange[Double]] from
thisup to and includingend.
- Annotations
 - @deprecated
 - Deprecated
 This function will be removed in future version of Scalactic, use BigDecimal's to function instead
 - 
      
      
      
        
      
    
      
        
        def
      
      
        until(end: Double, step: Double): Exclusive[Double]
      
      
      
Create a
Rangefrom thisPosDoublevalue until the specifiedend(exclusive) with the specifiedstepvalue.Create a
Rangefrom thisPosDoublevalue until the specifiedend(exclusive) with the specifiedstepvalue.- end
 The final bound of the range to make.
- step
 The number to increase by for each step of the range.
- returns
 A scala.collection.immutable.NumericRange.Exclusive[Double] from
thisup to but not includingend.
- Annotations
 - @deprecated
 - Deprecated
 This function will be removed in future version of Scalactic, use BigDecimal's until's function instead
 - 
      
      
      
        
      
    
      
        
        def
      
      
        until(end: Double): Partial[Double, NumericRange[Double]]
      
      
      
Create a
Range.Partialfrom thisPosDoublevalue until the specifiedend(exclusive) with step value 1.Create a
Range.Partialfrom thisPosDoublevalue until the specifiedend(exclusive) with step value 1.- end
 The final bound of the range to make.
- returns
 A NumericRange[Double]] from
thisup to but not includingend.
- Annotations
 - @deprecated
 - Deprecated
 This function will be removed in future version of Scalactic, use BigDecimal's until function instead