object PosZDouble
The companion object for PosZDouble that offers
factory methods that produce PosZDoubles,
implicit widening conversions from PosZDouble to
other numeric types, and maximum and minimum constant values
for PosZDouble.
- Source
- PosZDouble.scala
- Alphabetic
- By Inheritance
- PosZDouble
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
val
MaxValue: PosZDouble
The largest value representable as a non-negative
Double, which isPosZDouble(1.7976931348623157E308). - final val MinPositiveValue: PosZDouble
-
final
val
MinValue: PosZDouble
The smallest value representable as a non-negative
Double, which isPosZDouble(0.0). -
final
val
PositiveInfinity: PosZDouble
The positive infinity value, which is
PosZDouble.ensuringValid(Double.PositiveInfinity). -
implicit macro
def
apply(value: Double): PosZDouble
A factory method, implemented via a macro, that produces a
PosZDoubleif passed a validDoubleliteral, otherwise a compile time error.A factory method, implemented via a macro, that produces a
PosZDoubleif passed a validDoubleliteral, otherwise a compile time error.The macro that implements this method will inspect the specified
Doubleexpression at compile time. If the expression is a non-negativeDoubleliteral, it will return aPosZDoublerepresenting that value. Otherwise, the passedDoubleexpression is either a literal that is not non-negative, or is not a literal, so this method will give a compiler error.This factory method differs from the
fromfactory method in that this method is implemented via a macro that inspectsDoubleliterals at compile time, whereasfrominspectsDoublevalues at run time.- value
the
Doubleliteral expression to inspect at compile time, and if non-negative, to return wrapped in aPosZDoubleat run time.- returns
the specified, valid
Doubleliteral value wrapped in aPosZDouble. (If the specified expression is not a validDoubleliteral, the invocation of this method will not compile.)
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
ensuringValid(value: Double): PosZDouble
A factory/assertion method that produces a
PosZDoublegiven a validDoublevalue, or throwsAssertionError, if given an invalidDoublevalue.A factory/assertion method that produces a
PosZDoublegiven a validDoublevalue, or throwsAssertionError, if given an invalidDoublevalue.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPosZDoublerepresenting that value. Otherwise, the passedDoublevalue is not non-negative, so this method will throwAssertionError.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereasfrominspectsDoublevalues at run time. It differs from a vanillaassertorensuringcall in that you get something you didn't already have if the assertion succeeds: a type that promises aDoubleis non-negative.- value
the
Doubleto inspect, and if non-negative, return wrapped in aPosZDouble.- returns
the specified
Doublevalue wrapped in aPosZDouble, if it is non-negative, else throwsAssertionError.
- Exceptions thrown
AssertionErrorif the passed value is not non-negative
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
from(value: Double): Option[PosZDouble]
A factory method that produces an
Option[PosZDouble]given aDoublevalue.A factory method that produces an
Option[PosZDouble]given aDoublevalue.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPosZDoublerepresenting that value, wrapped in aSome. Otherwise, the passedDoublevalue is not non-negative, so this method will returnNone.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereasfrominspectsDoublevalues at run time.- value
the
Doubleto inspect, and if non-negative, return wrapped in aSome[PosZDouble].- returns
the specified
Doublevalue wrapped in aSome[PosZDouble], if it is PosZDouble, elseNone.
-
def
fromOrElse(value: Double, default: ⇒ PosZDouble): PosZDouble
A factory method that produces a
PosZDoublegiven aDoublevalue and a defaultPosZDouble.A factory method that produces a
PosZDoublegiven aDoublevalue and a defaultPosZDouble.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPosZDoublerepresenting that value. Otherwise, the passedDoublevalue is non-negative, so this method will return the passeddefaultvalue.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereasfrominspectsDoublevalues at run time.- value
the
Doubleto inspect, and if non-negative, return.- default
the
PosZDoubleto return if the passedDoublevalue is not non-negative.- returns
the specified
Doublevalue wrapped in aPosZDouble, if it is non-negative, else thedefaultPosZDoublevalue.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
goodOrElse[B](value: Double)(f: (Double) ⇒ B): Or[PosZDouble, B]
A factory/validation method that produces a
PosZDouble, wrapped in aGood, given a validDoublevalue, or if the givenDoubleis invalid, an error value of typeBproduced by passing the given invalidDoublevalue to the given functionf, wrapped in aBad.A factory/validation method that produces a
PosZDouble, wrapped in aGood, given a validDoublevalue, or if the givenDoubleis invalid, an error value of typeBproduced by passing the given invalidDoublevalue to the given functionf, wrapped in aBad.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPosZDoublerepresenting that value, wrapped in aGood. Otherwise, the passedDoublevalue is not non-negative, so this method will return a result of typeBobtained by passing the invalidDoublevalue to the given functionf, wrapped in aBad.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereas this method inspectsDoublevalues at run time.- value
the
Doubleto inspect, and if non-negative, return wrapped in aGood(PosZDouble).- returns
the specified
Doublevalue wrapped in aGood(PosZDouble), if it is non-negative, else aBad(f(value)).
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isValid(value: Double): Boolean
A predicate method that returns true if a given
Doublevalue is non-negative.A predicate method that returns true if a given
Doublevalue is non-negative.- value
the
Doubleto inspect, and if non-negative, return true.- returns
true if the specified
Doubleis positive, else false.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
implicit
val
ordering: Ordering[PosZDouble]
Implicit Ordering instance.
-
def
passOrElse[E](value: Double)(f: (Double) ⇒ E): Validation[E]
A validation method that produces a
Passgiven a validDoublevalue, or an error value of typeEproduced by passing the given invalidIntvalue to the given functionf, wrapped in aFail.A validation method that produces a
Passgiven a validDoublevalue, or an error value of typeEproduced by passing the given invalidIntvalue to the given functionf, wrapped in aFail.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPass. Otherwise, the passedDoublevalue is non-negative, so this method will return a result of typeEobtained by passing the invalidDoublevalue to the given functionf, wrapped in aFail.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereas this method inspectsDoublevalues at run time.- value
the
Intto validate that it is non-negative.- returns
a
Passif the specifiedIntvalue is non-negative, else aFailcontaining an error value produced by passing the specifiedDoubleto the given functionf.
-
def
rightOrElse[L](value: Double)(f: (Double) ⇒ L): Either[L, PosZDouble]
A factory/validation method that produces a
PosZDouble, wrapped in aRight, given a validDoublevalue, or if the givenDoubleis invalid, an error value of typeLproduced by passing the given invalidDoublevalue to the given functionf, wrapped in aLeft.A factory/validation method that produces a
PosZDouble, wrapped in aRight, given a validDoublevalue, or if the givenDoubleis invalid, an error value of typeLproduced by passing the given invalidDoublevalue to the given functionf, wrapped in aLeft.This method will inspect the passed
Doublevalue and if it is a non-negativeDouble, it will return aPosZDoublerepresenting that value, wrapped in aRight. Otherwise, the passedDoublevalue is not non-negative, so this method will return a result of typeLobtained by passing the invalidDoublevalue to the given functionf, wrapped in aLeft.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsDoubleliterals at compile time, whereas this method inspectsDoublevalues at run time.- value
the
Doubleto inspect, and if non-negative, return wrapped in aRight(PosZDouble).- returns
the specified
Doublevalue wrapped in aRight(PosZDouble), if it is non-negative, else aLeft(f(value)).
-
def
sumOf(first: PosZDouble, second: PosZDouble, rest: PosZDouble*): PosZDouble
Returns the
PosZDoublesum of the passedPosZDoublevaluesfirstand valuesecond, and thePosZDoublevalues passed as varargsrest.Returns the
PosZDoublesum of the passedPosZDoublevaluesfirstand valuesecond, and thePosZDoublevalues passed as varargsrest.This method will always succeed (not throw an exception) because adding a non-negative Double to another non-negative Double will always result in another non-negative Double value (though the result may be infinity).
This overloaded form of the
sumOfmethod can sum more than two values, but unlike its two-arg sibling, will entail boxing. -
def
sumOf(x: PosZDouble, y: PosZDouble): PosZDouble
Returns the
PosZDoublesum of the passedPosZDoublevaluesxandy.Returns the
PosZDoublesum of the passedPosZDoublevaluesxandy.This method will always succeed (not throw an exception) because adding a non-negative Double to another non-negative Double will always result in another PosZDouble Double value (though the result may be infinity).
This overloaded form of the method is used when there are just two arguments so that boxing is avoided. The overloaded
sumOfthat takes a varargs ofPosZDoublestarting at the third parameter can sum more than two values, but will entail boxing and may therefore be less efficient. -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
tryingValid(value: Double): Try[PosZDouble]
A factory/validation method that produces a
PosZDouble, wrapped in aSuccess, given a validFloatvalue, or if the givenFloatis invalid, anAssertionError, wrapped in aFailure.A factory/validation method that produces a
PosZDouble, wrapped in aSuccess, given a validFloatvalue, or if the givenFloatis invalid, anAssertionError, wrapped in aFailure.Note: you should use this method only when you are convinced that it will always succeed, i.e., never throw an exception. It is good practice to add a comment near the invocation of this method indicating why you think it will always succeed to document your reasoning. If you are not sure an
ensuringValidcall will always succeed, you should use one of the other factory or validation methods provided on this object instead:isValid,tryingValid,passOrElse,goodOrElse, orrightOrElse.This method will inspect the passed
Floatvalue and if it is a non-negativeFloat, it will return aPosZDoublerepresenting that value, wrapped in aSuccess. Otherwise, the passedFloatvalue is not non-negative, so this method will return anAssertionError, wrapped in aFailure.This factory method differs from the
applyfactory method in thatapplyis implemented via a macro that inspectsFloatliterals at compile time, whereas this method inspectsFloatvalues at run time.- value
the
Floatto inspect, and if non-negative, return wrapped in aSuccess(PosZDouble).- returns
the specified
Floatvalue wrapped in aSuccess(PosZDouble), if it is non-negative, else aFailure(AssertionError).
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
implicit
def
widenToDouble(pos: PosZDouble): Double
Implicit widening conversion from
PosZDoubletoDouble.Implicit widening conversion from
PosZDoubletoDouble.- pos
the
PosZDoubleto widen- returns
the
Doublevalue underlying the specifiedPosZDouble