The largest value representable as a positive Double,
which is PosDouble(1.7976931348623157E308).
The largest value representable as a positive Double,
which is PosDouble(1.7976931348623157E308).
The smallest value representable as a positive
Double, which is PosDouble(4.9E-324).
The smallest value representable as a positive
Double, which is PosDouble(4.9E-324).
The positive infinity value, which is PosDouble.ensuringValid(Double.PositiveInfinity).
The positive infinity value, which is PosDouble.ensuringValid(Double.PositiveInfinity).
A factory method, implemented via a macro, that produces a
PosDouble if passed a valid Double
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
PosDouble if passed a valid Double
literal, otherwise a compile time error.
The macro that implements this method will inspect the
specified Double expression at compile time. If
the expression is a positive Double literal,
it will return a PosDouble representing that value.
Otherwise, the passed Double expression is either a literal
that is not positive, or is not a literal, so this method
will give a compiler error.
This factory method differs from the from
factory method in that this method is implemented via a
macro that inspects Double literals at compile
time, whereas from inspects Double
values at run time.
the Double literal expression to
inspect at compile time, and if positive, to return
wrapped in a PosDouble at run time.
the specified, valid Double literal
value wrapped in a PosDouble. (If the
specified expression is not a valid Double
literal, the invocation of this method will not
compile.)
A factory/assertion method that produces a PosDouble given a
valid Double value, or throws AssertionError,
if given an invalid Double value.
A factory/assertion method that produces a PosDouble given a
valid Double value, or throws AssertionError,
if given an invalid Double value.
This method will inspect the passed Double value and if
it is a positive Double, it will return a PosDouble
representing that value. Otherwise, the passed Double value is not positive,
so this method will throw AssertionError.
This factory method differs from the apply
factory method in that apply is implemented
via a macro that inspects Double literals at
compile time, whereas from inspects
Double values at run time.
It differs from a vanilla assert or ensuring
call in that you get something you didn't already have if the assertion
succeeds: a type that promises a Double is positive.
the Double to inspect, and if positive, return
wrapped in a PosDouble.
the specified Double value wrapped in a
PosDouble, if it is positive, else
throws AssertionError.
if the passed value is not positive
A factory method that produces an Option[PosDouble] given a
Double value.
A factory method that produces an Option[PosDouble] given a
Double value.
This method will inspect the passed Double value and if
it is a positive Double, it will return a PosDouble
representing that value, wrapped in a Some. Otherwise, the passed Double
value is not positive, so this method will return None.
This factory method differs from the apply
factory method in that apply is implemented
via a macro that inspects Double literals at
compile time, whereas from inspects
Double values at run time.
the Double to inspect, and if positive, return
wrapped in a Some[PosDouble].
the specified Double value wrapped in a
Some[PosDouble], if it is PosDouble, else
None.
A factory method that produces a PosDouble given a
Double value and a default PosDouble.
A factory method that produces a PosDouble given a
Double value and a default PosDouble.
This method will inspect the passed Double value and if
it is a positive Double, it will return a PosDouble
representing that value. Otherwise, the passed Double value is positive,
so this method will return the passed default value.
This factory method differs from the apply
factory method in that apply is implemented
via a macro that inspects Double literals at
compile time, whereas from inspects
Double values at run time.
the Double to inspect, and if positive, return.
the PosDouble to return if the passed
Double value is not positive.
the specified Double value wrapped in a
PosDouble, if it is positive, else the
default PosDouble value.
A factory/validation method that produces a PosDouble, wrapped
in a Good, given a valid Double value, or if the
given Double is invalid, an error value of type B
produced by passing the given invalid Double value
to the given function f, wrapped in a Bad.
A factory/validation method that produces a PosDouble, wrapped
in a Good, given a valid Double value, or if the
given Double is invalid, an error value of type B
produced by passing the given invalid Double value
to the given function f, wrapped in a Bad.
This method will inspect the passed Double value and if
it is a positive Double, it will return a PosDouble
representing that value, wrapped in a Good.
Otherwise, the passed Double value is not positive, so this
method will return a result of type B obtained by passing
the invalid Double value to the given function f,
wrapped in a Bad.
This factory method differs from the apply factory method
in that apply is implemented via a macro that inspects
Double literals at compile time, whereas this method inspects
Double values at run time.
the Double to inspect, and if positive, return
wrapped in a Good(PosDouble).
the specified Double value wrapped
in a Good(PosDouble), if it is positive, else a Bad(f(value)).
A predicate method that returns true if a given
Double value is positive.
A predicate method that returns true if a given
Double value is positive.
the Double to inspect, and if positive, return true.
true if the specified Double is positive, else false.
Implicit Ordering instance.
A validation method that produces a Pass
given a valid Double value, or
an error value of type E produced by passing the
given invalid Int value
to the given function f, wrapped in a Fail.
A validation method that produces a Pass
given a valid Double value, or
an error value of type E produced by passing the
given invalid Int value
to the given function f, wrapped in a Fail.
This method will inspect the passed Double value and if
it is a positive Double, it will return a Pass.
Otherwise, the passed Double value is positive, so this
method will return a result of type E obtained by passing
the invalid Double value to the given function f,
wrapped in a Fail.
This factory method differs from the apply factory method
in that apply is implemented via a macro that inspects
Double literals at compile time, whereas this method inspects
Double values at run time.
the Int to validate that it is positive.
a Pass if the specified Int value is positive,
else a Fail containing an error value produced by passing the
specified Double to the given function f.
A factory/validation method that produces a PosDouble, wrapped
in a Right, given a valid Double value, or if the
given Double is invalid, an error value of type L
produced by passing the given invalid Double value
to the given function f, wrapped in a Left.
A factory/validation method that produces a PosDouble, wrapped
in a Right, given a valid Double value, or if the
given Double is invalid, an error value of type L
produced by passing the given invalid Double value
to the given function f, wrapped in a Left.
This method will inspect the passed Double value and if
it is a positive Double, it will return a PosDouble
representing that value, wrapped in a Right.
Otherwise, the passed Double value is not positive, so this
method will return a result of type L obtained by passing
the invalid Double value to the given function f,
wrapped in a Left.
This factory method differs from the apply factory method
in that apply is implemented via a macro that inspects
Double literals at compile time, whereas this method inspects
Double values at run time.
the Double to inspect, and if positive, return
wrapped in a Right(PosDouble).
the specified Double value wrapped
in a Right(PosDouble), if it is positive, else a Left(f(value)).
Returns the PosDouble sum of the passed PosDouble value first, the PosZDouble
value second, and the PosZDouble values passed as varargs rest.
Returns the PosDouble sum of the passed PosDouble value first, the PosZDouble
value second, and the PosZDouble values passed as varargs rest.
This method will always succeed (not throw an exception) because adding a positive Double and one or more non-negative Doubles will always result in another positive Double value (though the result may be infinity).
This overloaded form of the sumOf method can sum more than two
values, but unlike its two-arg sibling, will entail boxing.
Returns the PosDouble sum of the passed PosDouble value x and PosZDouble value y.
Returns the PosDouble sum of the passed PosDouble value x and PosZDouble value y.
This method will always succeed (not throw an exception) because adding a positive Double and non-negative Double will always result in another positive 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 sumOf that takes a varargs of
PosZDouble starting at the third parameter can sum more than two
values, but will entail boxing and may therefore be less efficient.
A factory/validation method that produces a PosDouble, wrapped
in a Success, given a valid Float value, or if the
given Float is invalid, an AssertionError, wrapped
in a Failure.
A factory/validation method that produces a PosDouble, wrapped
in a Success, given a valid Float value, or if the
given Float is invalid, an AssertionError, wrapped
in a Failure.
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
ensuringValid call will always succeed, you should use one of the other
factory or validation methods provided on this object instead: isValid,
tryingValid, passOrElse, goodOrElse, or rightOrElse.
This method will inspect the passed Float value and if
it is a positive Float, it will return a PosDouble
representing that value, wrapped in a Success.
Otherwise, the passed Float value is not positive, so this
method will return an AssertionError, wrapped in a Failure.
This factory method differs from the apply factory method
in that apply is implemented via a macro that inspects
Float literals at compile time, whereas this method inspects
Float values at run time.
the Float to inspect, and if positive, return
wrapped in a Success(PosDouble).
the specified Float value wrapped
in a Success(PosDouble), if it is positive, else a Failure(AssertionError).
Implicit widening conversion from PosDouble to
Double.
Implicit widening conversion from PosDouble to
Double.
the PosDouble to widen
the Double value underlying the specified
PosDouble
Implicit widening conversion from PosDouble to NonZeroDouble.
Implicit widening conversion from PosDouble to NonZeroDouble.
the PosDouble to widen
the Double value underlying the specified PosDouble,
widened to Double and wrapped in a NonZeroDouble.
Implicit widening conversion from PosDouble to PosZDouble.
Implicit widening conversion from PosDouble to PosZDouble.
the PosDouble to widen
the Double value underlying the specified PosDouble,
widened to Double and wrapped in a PosZDouble.
The companion object for
PosDoublethat offers factory methods that producePosDoubles, implicit widening conversions fromPosDoubleto other numeric types, and maximum and minimum constant values forPosDouble.