final class PosZDouble extends AnyVal
An AnyVal for non-negative Doubles.
Because PosZDouble is an AnyVal it will usually be
as efficient as an Double, being boxed only when a
Double would have been boxed.
The PosZDouble.apply factory method is
implemented in terms of a macro that checks literals for
validity at compile time. Calling
PosZDouble.apply with a literal
Double value will either produce a valid
PosZDouble instance at run time or an error at
compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> PosZDouble(1.1)
res0: org.scalactic.anyvals.PosZDouble = PosZDouble(1.1)
scala> PosZDouble(0.0)
res1: org.scalactic.anyvals.PosZDouble = PosZDouble(0.0)
scala> PosZDouble(-1.1)
<console>:14: error: PosZDouble.apply can only be invoked on a non-negative (i >= 0.0) floating point literal, like PosZDouble(42.0).
PosZDouble(-1.1)
^
PosZDouble.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 PosZDouble.apply, you'll get a
compiler error that suggests you use a different factor
method, PosZDouble.from, instead:
scala> val x = 1.1
x: Double = 1.1
scala> PosZDouble(x)
<console>:15: error: PosZDouble.apply can only be invoked on a floating point literal, like PosZDouble(42.0). Please use PosZDouble.from instead.
PosZDouble(x)
^
The PosZDouble.from factory method will inspect
the value at runtime and return an
Option[PosZDouble]. If the value is valid,
PosZDouble.from will return a
Some[PosZDouble], else it will return a
None. Here's an example:
scala> PosZDouble.from(x) res4: Option[org.scalactic.anyvals.PosZDouble] = Some(PosZDouble(1.1)) scala> val y = -1.1 y: Double = -1.1 scala> PosZDouble.from(y) res5: Option[org.scalactic.anyvals.PosZDouble] = None
The PosZDouble.apply factory method is marked implicit, so that
you can pass literal Doubles into methods that require
PosZDouble, and get the same compile-time checking you get when
calling PosZDouble.apply explicitly. Here's an example:
scala> def invert(pos: PosZDouble): Double = Double.MaxValue - pos
invert: (pos: org.scalactic.anyvals.PosZDouble)Double
scala> invert(0.0)
res6: Double = 1.7976931348623157E308
scala> invert(Double.MaxValue)
res7: Double = 0.0
scala> invert(-1.1)
<console>:15: error: PosZDouble.apply can only be invoked on a non-negative (i >= 0.0) floating point literal, like PosZDouble(42.0).
invert(-1.1)
^
This example also demonstrates that the
PosZDouble companion object also defines
implicit widening conversions when a similar conversion is
provided in Scala. This makes it convenient to use a
PosZDouble where a Double or wider
type 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
PosZDouble (the type of pos), you
can still subtract pos, because the
PosZDouble will be implicitly widened to
Double.
- Source
- PosZDouble.scala
- Alphabetic
- By Inheritance
- PosZDouble
- 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
PosZDouble'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: PosZDouble
- 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: PosZDouble): PosZDouble
Returns
thisifthis > thatorthatotherwise. -
def
min(that: PosZDouble): PosZDouble
Returns
thisifthis < thatorthatotherwise. - def round: PosZLong
-
def
toByte: Byte
Converts this
PosZDoubleto aByte. -
def
toChar: Char
Converts this
PosZDoubleto 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
PosZDoubleto aDouble. -
def
toFloat: Float
Converts this
PosZDoubleto aFloat. -
def
toInt: Int
Converts this
PosZDoubleto anInt. -
def
toLong: Long
Converts this
PosZDoubleto 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
PosZDoubleto aShort. -
def
toString(): String
A string representation of this
PosZDouble.A string representation of this
PosZDouble.- Definition Classes
- PosZDouble → Any
-
def
unary_+: PosZDouble
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 thisPosZDoublevalue to the specifiedendwith the specifiedstepvalue.Create an inclusive
Rangefrom thisPosZDoublevalue 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 thisPosZDoublevalue to the specifiedendwith step value 1.Create an inclusive
Range.Partialfrom thisPosZDoublevalue 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 thisPosZDoublevalue until the specifiedend(exclusive) with the specifiedstepvalue.Create a
Rangefrom thisPosZDoublevalue 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 function instead
-
def
until(end: Double): Partial[Double, NumericRange[Double]]
Create a
Range.Partialfrom thisPosZDoublevalue until the specifiedend(exclusive) with step value 1.Create a
Range.Partialfrom thisPosZDoublevalue 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