The largest value representable as a megative Float
,
which is NegFloat(-1.4E-45)
.
The largest value representable as a megative Float
,
which is NegFloat(-1.4E-45)
.
The smallest value representable as a megative
Float
, which is NegFloat(-3.4028235E38)
.
The smallest value representable as a megative
Float
, which is NegFloat(-3.4028235E38)
.
The negative infinity value, which is NegFloat.ensuringValid(Float.NegativeInfinity)
.
The negative infinity value, which is NegFloat.ensuringValid(Float.NegativeInfinity)
.
A factory method, implemented via a macro, that produces a
NegFloat
if passed a valid Float
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
NegFloat
if passed a valid Float
literal, otherwise a compile time error.
The macro that implements this method will inspect the
specified Float
expression at compile time. If
the expression is a megative Float
literal,
it will return a NegFloat
representing that value.
Otherwise, the passed Float
expression is either a literal
that is not megative, 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 Float
literals at compile
time, whereas from
inspects Float
values at run time.
the Float
literal expression to
inspect at compile time, and if megative, to return
wrapped in a NegFloat
at run time.
the specified, valid Float
literal
value wrapped in a NegFloat
. (If the
specified expression is not a valid Float
literal, the invocation of this method will not
compile.)
A factory/assertion method that produces a NegFloat
given a
valid Float
value, or throws AssertionError
,
if given an invalid Float
value.
A factory/assertion method that produces a NegFloat
given a
valid Float
value, or throws AssertionError
,
if given an invalid Float
value.
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 megative Float
, it will return a NegFloat
representing that value.
Otherwise, the passed Float
value is not megative, 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 Float
literals at
compile time, whereas from
inspects
Float
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 Float
is positive.
the Float
to inspect, and if megative, return
wrapped in a NegFloat
.
the specified Float
value wrapped in a
NegFloat
, if it is megative, else
throws AssertionError
.
AssertionError
if the passed value is not megative
A factory method that produces an Option[NegFloat]
given a
Float
value.
A factory method that produces an Option[NegFloat]
given a
Float
value.
This method will inspect the passed Float
value and if
it is a megative Float
, it will return a NegFloat
representing that value wrapped in a Some
. Otherwise, the passed Float
value is not megative, 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 Float
literals at
compile time, whereas from
inspects
Float
values at run time.
the Float
to inspect, and if megative, return
wrapped in a Some[NegFloat]
.
the specified Float
value wrapped in a
Some[NegFloat]
, if it is megative, else
None
.
A factory method that produces a NegFloat
given a
Float
value and a default NegFloat
.
A factory method that produces a NegFloat
given a
Float
value and a default NegFloat
.
This method will inspect the passed Float
value and if
it is a megative Float
, it will return a NegFloat
representing that value.
Otherwise, the passed Float
value is not megative, 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 Float
literals at
compile time, whereas from
inspects
Float
values at run time.
the Float
to inspect, and if megative, return.
the NegFloat
to return if the passed
Float
value is not megative.
the specified Float
value wrapped in a
NegFloat
, if it is megative, else the
default
NegFloat
value.
A factory/validation method that produces a NegFloat
, wrapped
in a Good
, given a valid Float
value, or if the
given Float
is invalid, an error value of type B
produced by passing the given invalid Float
value
to the given function f
, wrapped in a Bad
.
A factory/validation method that produces a NegFloat
, wrapped
in a Good
, given a valid Float
value, or if the
given Float
is invalid, an error value of type B
produced by passing the given invalid Float
value
to the given function f
, wrapped in a Bad
.
This method will inspect the passed Float
value and if
it is a megative Float
, it will return a NegFloat
representing that value, wrapped in a Good
.
Otherwise, the passed Float
value is not megative, so this
method will return a result of type B
obtained by passing
the invalid Float
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
Float
literals at compile time, whereas this method inspects
Float
values at run time.
the Float
to inspect, and if megative, return
wrapped in a Good(NegFloat)
.
the specified Float
value wrapped
in a Good(NegFloat)
, if it is megative, else a Bad(f(value))
.
A predicate method that returns true if a given
Float
value is megative.
A predicate method that returns true if a given
Float
value is megative.
the Float
to inspect, and if megative, return true.
true if the specified Float
is megative, else false.
Implicit Ordering instance.
A validation method that produces a Pass
given a valid Float
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 Float
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 Float
value and if
it is a megative Float
, it will return a Pass
.
Otherwise, the passed Float
value is megative, so this
method will return a result of type E
obtained by passing
the invalid Float
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
Float
literals at compile time, whereas this method inspects
Float
values at run time.
the Float
to validate that it is megative.
a Pass
if the specified Float
value is megative,
else a Fail
containing an error value produced by passing the
specified Float
to the given function f
.
A factory/validation method that produces a NegFloat
, wrapped
in a Right
, given a valid Int
value, or if the
given Int
is invalid, an error value of type L
produced by passing the given invalid Int
value
to the given function f
, wrapped in a Left
.
A factory/validation method that produces a NegFloat
, wrapped
in a Right
, given a valid Int
value, or if the
given Int
is invalid, an error value of type L
produced by passing the given invalid Int
value
to the given function f
, wrapped in a Left
.
This method will inspect the passed Int
value and if
it is a megative Int
, it will return a NegFloat
representing that value, wrapped in a Right
.
Otherwise, the passed Int
value is not megative, so this
method will return a result of type L
obtained by passing
the invalid Int
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
Int
literals at compile time, whereas this method inspects
Int
values at run time.
the Int
to inspect, and if megative, return
wrapped in a Right(NegFloat)
.
the specified Int
value wrapped
in a Right(NegFloat)
, if it is megative, else a Left(f(value))
.
Returns the NegFloat
sum of the passed NegFloat
value first
, the NegZFloat
value second
, and the NegZFloat
values passed as varargs rest
.
Returns the NegFloat
sum of the passed NegFloat
value first
, the NegZFloat
value second
, and the NegZFloat
values passed as varargs rest
.
This method will always succeed (not throw an exception) because adding a negative Float and one or more non-positive Floats will always result in another negative Float 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 NegFloat
sum of the passed NegFloat
value x
and NegZFloat
value y
.
Returns the NegFloat
sum of the passed NegFloat
value x
and NegZFloat
value y
.
This method will always succeed (not throw an exception) because adding a negative Float and non-positive Float will always result in another negative Float 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
NegZFloat
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 NegFloat
, 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 NegFloat
, wrapped
in a Success
, given a valid Float
value, or if the
given Float
is invalid, an AssertionError
, wrapped
in a Failure
.
This method will inspect the passed Float
value and if
it is a megative Float
, it will return a NegFloat
representing that value, wrapped in a Success
.
Otherwise, the passed Float
value is not megative, 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 megative, return
wrapped in a Success(NegFloat)
.
the specified Float
value wrapped
in a Success(NegFloat)
, if it is megative, else a Failure(AssertionError)
.
Implicit widening conversion from NegFloat
to
Double
.
Implicit widening conversion from NegFloat
to
Double
.
the NegFloat
to widen
the Float
value underlying the
specified NegFloat
, widened to
Double
.
Implicit widening conversion from NegFloat
to
Float
.
Implicit widening conversion from NegFloat
to
Float
.
the NegFloat
to widen
the Float
value underlying the
specified NegFloat
Implicit widening conversion from NegFloat
to NegDouble
.
Implicit widening conversion from NegFloat
to NegDouble
.
the NegFloat
to widen
the Float
value underlying the specified NegFloat
,
widened to Double
and wrapped in a NegDouble
.
Implicit widening conversion from NegFloat
to NegZDouble
.
Implicit widening conversion from NegFloat
to NegZDouble
.
the NegFloat
to widen
the Float
value underlying the specified NegFloat
,
widened to Double
and wrapped in a NegZDouble
.
Implicit widening conversion from NegFloat
to NegZFloat
.
Implicit widening conversion from NegFloat
to NegZFloat
.
the NegFloat
to widen
the Float
value underlying the specified NegFloat
,
widened to Float
and wrapped in a NegZFloat
.
Implicit widening conversion from NegFloat
to NonZeroDouble
.
Implicit widening conversion from NegFloat
to NonZeroDouble
.
the NegFloat
to widen
the Float
value underlying the specified NegFloat
,
widened to Double
and wrapped in a NonZeroDouble
.
Implicit widening conversion from NegFloat
to NonZeroFloat
.
Implicit widening conversion from NegFloat
to NonZeroFloat
.
the NegFloat
to widen
the Float
value underlying the specified NegFloat
,
widened to Float
and wrapped in a NonZeroFloat
.
The companion object for
NegFloat
that offers factory methods that produceNegFloat
s, implicit widening conversions fromNegFloat
to other numeric types, and maximum and minimum constant values forNegFloat
.