The largest value representable as a negative Double
,
which is NegDouble(-4.9E-324)
.
The largest value representable as a negative Double
,
which is NegDouble(-4.9E-324)
.
The smallest value representable as a negative
Double
, which is NegDouble(-1.7976931348623157E308)
.
The smallest value representable as a negative
Double
, which is NegDouble(-1.7976931348623157E308)
.
The negative infinity value, which is NegDouble.ensuringValid(Double.NegativeInfinity)
.
The negative infinity value, which is NegDouble.ensuringValid(Double.NegativeInfinity)
.
A factory method, implemented via a macro, that produces a
NegDouble
if passed a valid Double
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
NegDouble
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 negative Double
literal,
it will return a NegDouble
representing that value.
Otherwise, the passed Double
expression is either a literal
that is not negative, 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 negative, to return
wrapped in a NegDouble
at run time.
the specified, valid Double
literal
value wrapped in a NegDouble
. (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 NegDouble
given a
valid Double
value, or throws AssertionError
,
if given an invalid Double
value.
A factory/assertion method that produces a NegDouble
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 negative Double
, it will return a NegDouble
representing that value. Otherwise, the passed Double
value is not negative,
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 negative.
the Double
to inspect, and if negative, return
wrapped in a NegDouble
.
the specified Double
value wrapped in a
NegDouble
, if it is negative, else
throws AssertionError
.
if the passed value is not negative
A factory method that produces an Option[NegDouble]
given a
Double
value.
A factory method that produces an Option[NegDouble]
given a
Double
value.
This method will inspect the passed Double
value and if
it is a negative Double
, it will return a NegDouble
representing that value, wrapped in a Some
. Otherwise, the passed Double
value is not negative, 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 negative, return
wrapped in a Some[NegDouble]
.
the specified Double
value wrapped in a
Some[NegDouble]
, if it is NegDouble, else
None
.
A factory method that produces a NegDouble
given a
Double
value and a default NegDouble
.
A factory method that produces a NegDouble
given a
Double
value and a default NegDouble
.
This method will inspect the passed Double
value and if
it is a negative Double
, it will return a NegDouble
representing that value. Otherwise, the passed Double
value is negative,
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 negative, return.
the NegDouble
to return if the passed
Double
value is not negative.
the specified Double
value wrapped in a
NegDouble
, if it is negative, else the
default
NegDouble
value.
A factory/validation method that produces a NegDouble
, 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 NegDouble
, 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 negative Double
, it will return a NegDouble
representing that value, wrapped in a Good
.
Otherwise, the passed Double
value is not negative, 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 negative, return
wrapped in a Good(NegDouble)
.
the specified Double
value wrapped
in a Good(NegDouble)
, if it is negative, else a Bad(f(value))
.
A predicate method that returns true if a given
Double
value is negative.
A predicate method that returns true if a given
Double
value is negative.
the Double
to inspect, and if negative, 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 negative Double
, it will return a Pass
.
Otherwise, the passed Double
value is negative, 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 negative.
a Pass
if the specified Int
value is negative,
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 NegDouble
, 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 NegDouble
, 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 negative Double
, it will return a NegDouble
representing that value, wrapped in a Right
.
Otherwise, the passed Double
value is not negative, 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 negative, return
wrapped in a Right(NegDouble)
.
the specified Double
value wrapped
in a Right(NegDouble)
, if it is negative, else a Left(f(value))
.
Returns the NegDouble
sum of the passed NegDouble
value first
, the NegZDouble
value second
, and the NegZDouble
values passed as varargs rest
.
Returns the NegDouble
sum of the passed NegDouble
value first
, the NegZDouble
value second
, and the NegZDouble
values passed as varargs rest
.
This method will always succeed (not throw an exception) because adding a negative Double and one or more non-positive Doubles will always result in another negative 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 NegDouble
sum of the passed NegDouble
value x
and NegZDouble
value y
.
Returns the NegDouble
sum of the passed NegDouble
value x
and NegZDouble
value y
.
This method will always succeed (not throw an exception) because adding a negative Double and non-positive Double will always result in another negative 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
NegZDouble
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 NegDouble
, 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 NegDouble
, 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 negative Float
, it will return a NegDouble
representing that value, wrapped in a Success
.
Otherwise, the passed Float
value is not negative, 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 negative, return
wrapped in a Success(NegDouble)
.
the specified Float
value wrapped
in a Success(NegDouble)
, if it is negative, else a Failure(AssertionError)
.
Implicit widening conversion from NegDouble
to
Double
.
Implicit widening conversion from NegDouble
to
Double
.
the NegDouble
to widen
the Double
value underlying the specified
NegDouble
Implicit widening conversion from NegDouble
to NegZDouble
.
Implicit widening conversion from NegDouble
to NegZDouble
.
the NegDouble
to widen
the Double
value underlying the specified NegDouble
,
widened to Double
and wrapped in a NegZDouble
.
Implicit widening conversion from NegDouble
to NonZeroDouble
.
Implicit widening conversion from NegDouble
to NonZeroDouble
.
the NegDouble
to widen
the Double
value underlying the specified NegDouble
,
widened to Double
and wrapped in a NonZeroDouble
.
The companion object for
NegDouble
that offers factory methods that produceNegDouble
s, implicit widening conversions fromNegDouble
to other numeric types, and maximum and minimum constant values forNegDouble
.