The companion object for NonZeroDouble that offers
factory methods that produce NonZeroDoubles,
implicit widening conversions from NonZeroDouble to
other numeric types, and maximum and minimum constant values
for NonZeroDouble.
- Companion:
- class
- Source:
- NonZeroDouble.scala
Value members
Concrete methods
A factory/assertion method that produces a NonZeroDouble given a
valid Double value, or throws AssertionError,
if given an invalid Double value.
A factory/assertion method that produces a NonZeroDouble 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 non-zero Double, it will return a NonZeroDouble
representing that value. Otherwise, the passed Double value is not non-zero,
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 non-zero.
- Value parameters:
- value
the
Doubleto inspect, and if non-zero, return wrapped in aNonZeroDouble.
- Returns:
the specified
Doublevalue wrapped in aNonZeroDouble, if it is non-zero, else throwsAssertionError.- Throws:
- AssertionError
if the passed value is not non-zero
- Source:
- NonZeroDouble.scala
A factory method that produces an Option[NonZeroDouble] given a
Double value.
A factory method that produces an Option[NonZeroDouble] given a
Double value.
This method will inspect the passed Double value and if
it is a non-zero Double, it will return a NonZeroDouble
representing that value, wrapped in a Some. Otherwise, the passed Double
value is not non-zero, 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.
- Value parameters:
- value
the
Doubleto inspect, and if non-zero, return wrapped in aSome[NonZeroDouble].
- Returns:
the specified
Doublevalue wrapped in aSome[NonZeroDouble], if it is NonZeroDouble, elseNone.- Source:
- NonZeroDouble.scala
A factory method that produces a NonZeroDouble given a
Double value and a default NonZeroDouble.
A factory method that produces a NonZeroDouble given a
Double value and a default NonZeroDouble.
This method will inspect the passed Double value and if
it is a non-zero Double, it will return a NonZeroDouble
representing that value. Otherwise, the passed Double value is non-zero,
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.
- Value parameters:
- default
the
NonZeroDoubleto return if the passedDoublevalue is not non-zero.- value
the
Doubleto inspect, and if non-zero, return.
- Returns:
the specified
Doublevalue wrapped in aNonZeroDouble, if it is non-zero, else thedefaultNonZeroDoublevalue.- Source:
- NonZeroDouble.scala
A factory/validation method that produces a NonZeroDouble, 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 NonZeroDouble, 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 non-zero Double, it will return a NonZeroDouble
representing that value, wrapped in a Good.
Otherwise, the passed Double value is not non-zero, 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.
- Value parameters:
- value
the
Doubleto inspect, and if non-zero, return wrapped in aGood(NonZeroDouble).
- Returns:
the specified
Doublevalue wrapped in aGood(NonZeroDouble), if it is non-zero, else aBad(f(value)).- Source:
- NonZeroDouble.scala
A predicate method that returns true if a given
Double value is non-zero.
A predicate method that returns true if a given
Double value is non-zero.
- Value parameters:
- value
the
Doubleto inspect, and if non-zero, return true.
- Returns:
true if the specified
Doubleis positive, else false.- Source:
- NonZeroDouble.scala
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 non-zero Double, it will return a Pass.
Otherwise, the passed Double value is non-zero, 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.
- Value parameters:
- value
the
Intto validate that it is non-zero.
- Returns:
a
Passif the specifiedIntvalue is non-zero, else aFailcontaining an error value produced by passing the specifiedDoubleto the given functionf.- Source:
- NonZeroDouble.scala
A factory/validation method that produces a NonZeroDouble, 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 NonZeroDouble, 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 non-zero Double, it will return a NonZeroDouble
representing that value, wrapped in a Right.
Otherwise, the passed Double value is not non-zero, 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.
- Value parameters:
- value
the
Doubleto inspect, and if non-zero, return wrapped in aRight(NonZeroDouble).
- Returns:
the specified
Doublevalue wrapped in aRight(NonZeroDouble), if it is non-zero, else aLeft(f(value)).- Source:
- NonZeroDouble.scala
A factory/validation method that produces a NonZeroDouble, 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 NonZeroDouble, 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 non-zero Float, it will return a NonZeroDouble
representing that value, wrapped in a Success.
Otherwise, the passed Float value is not non-zero, 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.
- Value parameters:
- value
the
Floatto inspect, and if non-zero, return wrapped in aSuccess(NonZeroDouble).
- Returns:
the specified
Floatvalue wrapped in aSuccess(NonZeroDouble), if it is non-zero, else aFailure(AssertionError).- Source:
- NonZeroDouble.scala
Concrete fields
The largest value representable as a non-zero Double,
which is NonZeroDouble(1.7976931348623157E308).
The largest value representable as a non-zero Double,
which is NonZeroDouble(1.7976931348623157E308).
- Source:
- NonZeroDouble.scala
The smallest positive value greater than 0.0d representable as a NonZeroDouble, which is NonZeroDouble(4.9E-324).
The smallest positive value greater than 0.0d representable as a NonZeroDouble, which is NonZeroDouble(4.9E-324).
- Source:
- NonZeroDouble.scala
The smallest value representable as a non-zero
Double, which is NonZeroDouble(-1.7976931348623157E308).
The smallest value representable as a non-zero
Double, which is NonZeroDouble(-1.7976931348623157E308).
- Source:
- NonZeroDouble.scala
The negative infinity value, which is NonZeroDouble.ensuringValid(Double.NegativeInfinity).
The negative infinity value, which is NonZeroDouble.ensuringValid(Double.NegativeInfinity).
- Source:
- NonZeroDouble.scala
The positive infinity value, which is NonZeroDouble.ensuringValid(Double.PositiveInfinity).
The positive infinity value, which is NonZeroDouble.ensuringValid(Double.PositiveInfinity).
- Source:
- NonZeroDouble.scala
Implicits
Implicits
A factory method, implemented via a macro, that produces a
NonZeroDouble if passed a valid Double
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
NonZeroDouble 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 non-zero Double literal,
it will return a NonZeroDouble representing that value.
Otherwise, the passed Double expression is either a literal
that is not non-zero, 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.
- Value parameters:
- value
the
Doubleliteral expression to inspect at compile time, and if non-zero, to return wrapped in aNonZeroDoubleat run time.
- Returns:
the specified, valid
Doubleliteral value wrapped in aNonZeroDouble. (If the specified expression is not a validDoubleliteral, the invocation of this method will not compile.)- Source:
- NonZeroDouble.scala
Implicit widening conversion from NonZeroDouble to
Double.
Implicit widening conversion from NonZeroDouble to
Double.
- Value parameters:
- pos
the
NonZeroDoubleto widen
- Returns:
the
Doublevalue underlying the specifiedNonZeroDouble- Source:
- NonZeroDouble.scala