PosZFloat

object PosZFloat

The companion object for PosZFloat that offers factory methods that produce PosZFloats, implicit widening conversions from PosZFloat to other numeric types, and maximum and minimum constant values for PosZFloat.

Companion:
class
Source:
PosZFloat.scala
class Object
trait Matchable
class Any

Value members

Concrete methods

def ensuringValid(value: Float): PosZFloat

A factory/assertion method that produces a PosZFloat given a valid Float value, or throws AssertionError, if given an invalid Float value.

A factory/assertion method that produces a PosZFloat 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 non-negative Float, it will return a PosZFloat representing that value. Otherwise, the passed Float value is not non-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 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.

Value parameters:
value

the Float to inspect, and if non-negative, return wrapped in a PosZFloat.

Returns:

the specified Float value wrapped in a PosZFloat, if it is non-negative, else throws AssertionError.

Throws:
AssertionError

if the passed value is not non-negative

Source:
PosZFloat.scala
def from(value: Float): Option[PosZFloat]

A factory method that produces an Option[PosZFloat] given a Float value.

A factory method that produces an Option[PosZFloat] given a Float value.

This method will inspect the passed Float value and if it is a non-negative Float, it will return a PosZFloat representing that value wrapped in a Some. Otherwise, the passed Float value is not non-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 Float literals at compile time, whereas from inspects Float values at run time.

Value parameters:
value

the Float to inspect, and if non-negative, return wrapped in a Some[PosZFloat].

Returns:

the specified Float value wrapped in a Some[PosZFloat], if it is non-negative, else None.

Source:
PosZFloat.scala
def fromOrElse(value: Float, default: => PosZFloat): PosZFloat

A factory method that produces a PosZFloat given a Float value and a default PosZFloat.

A factory method that produces a PosZFloat given a Float value and a default PosZFloat.

This method will inspect the passed Float value and if it is a non-negative Float, it will return a PosZFloat representing that value. Otherwise, the passed Float value is not non-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 Float literals at compile time, whereas from inspects Float values at run time.

Value parameters:
default

the PosZFloat to return if the passed Float value is not non-negative.

value

the Float to inspect, and if non-negative, return.

Returns:

the specified Float value wrapped in a PosZFloat, if it is non-negative, else the default PosZFloat value.

Source:
PosZFloat.scala
def goodOrElse[B](value: Float)(f: Float => B): Or[PosZFloat, B]

A factory/validation method that produces a PosZFloat, 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 PosZFloat, 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 non-negative Float, it will return a PosZFloat representing that value, wrapped in a Good. Otherwise, the passed Float value is not non-negative, 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.

Value parameters:
value

the Float to inspect, and if non-negative, return wrapped in a Good(PosZFloat).

Returns:

the specified Float value wrapped in a Good(PosZFloat), if it is non-negative, else a Bad(f(value)).

Source:
PosZFloat.scala
def isValid(value: Float): Boolean

A predicate method that returns true if a given Float value is non-negative.

A predicate method that returns true if a given Float value is non-negative.

Value parameters:
value

the Float to inspect, and if non-negative, return true.

Returns:

true if the specified Float is non-negative, else false.

Source:
PosZFloat.scala
def passOrElse[E](value: Float)(f: Float => E): Validation[E]

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 non-negative Float, it will return a Pass. Otherwise, the passed Float value is non-negative, 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.

Value parameters:
value

the Float to validate that it is non-negative.

Returns:

a Pass if the specified Float value is non-negative, else a Fail containing an error value produced by passing the specified Float to the given function f.

Source:
PosZFloat.scala
def rightOrElse[L](value: Float)(f: Float => L): Either[L, PosZFloat]

A factory/validation method that produces a PosZFloat, 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 PosZFloat, 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 non-negative Int, it will return a PosZFloat representing that value, wrapped in a Right. Otherwise, the passed Int value is not non-negative, 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.

Value parameters:
value

the Int to inspect, and if non-negative, return wrapped in a Right(PosZFloat).

Returns:

the specified Int value wrapped in a Right(PosZFloat), if it is non-negative, else a Left(f(value)).

Source:
PosZFloat.scala
def tryingValid(value: Float): Try[PosZFloat]

A factory/validation method that produces a PosZFloat, 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 PosZFloat, 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 non-negative Float, it will return a PosZFloat representing that value, wrapped in a Success. Otherwise, the passed Float value is not non-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.

Value parameters:
value

the Float to inspect, and if non-negative, return wrapped in a Success(PosZFloat).

Returns:

the specified Float value wrapped in a Success(PosZFloat), if it is non-negative, else a Failure(AssertionError).

Source:
PosZFloat.scala

Concrete fields

final val MaxValue: PosZFloat

The largest value representable as a non-negative Float, which is PosZFloat(3.4028235E38).

The largest value representable as a non-negative Float, which is PosZFloat(3.4028235E38).

Source:
PosZFloat.scala

The smallest positive value greater than 0.0d representable as a PosZFloat, which is PosZFloat(1.4E-45).

The smallest positive value greater than 0.0d representable as a PosZFloat, which is PosZFloat(1.4E-45).

Source:
PosZFloat.scala
final val MinValue: PosZFloat

The smallest value representable as a non-negative Float, which is PosZFloat(0.0f).

The smallest value representable as a non-negative Float, which is PosZFloat(0.0f).

Source:
PosZFloat.scala

The positive infinity value, which is PosZFloat.ensuringValid(Float.PositiveInfinity).

The positive infinity value, which is PosZFloat.ensuringValid(Float.PositiveInfinity).

Source:
PosZFloat.scala

Deprecated fields

@deprecated("The formerly implicit posZFloatOrd field has been deprecated and will be removed in a future version of ScalaTest. Please use the ordering field instead.")
val posZFloatOrd: Ordering[PosZFloat]

The formerly implicit posZFloatOrd field has been deprecated and will be removed in a future version of ScalaTest. Please use the ordering field instead.

The formerly implicit posZFloatOrd field has been deprecated and will be removed in a future version of ScalaTest. Please use the ordering field instead.

Deprecated
Source:
PosZFloat.scala

Implicits

Implicits

implicit inline def apply(value: => Float): PosZFloat

A factory method, implemented via a macro, that produces a PosZFloat if passed a valid Float literal, otherwise a compile time error.

A factory method, implemented via a macro, that produces a PosZFloat 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 non-negative Float literal, it will return a PosZFloat representing that value. Otherwise, the passed Float expression 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 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.

Value parameters:
value

the Float literal expression to inspect at compile time, and if non-negative, to return wrapped in a PosZFloat at run time.

Returns:

the specified, valid Float literal value wrapped in a PosZFloat. (If the specified expression is not a valid Float literal, the invocation of this method will not compile.)

Source:
PosZFloat.scala
implicit val ordering: Ordering[PosZFloat]

Implicit Ordering instance.

Implicit Ordering instance.

Source:
PosZFloat.scala
implicit def widenToDouble(pos: PosZFloat): Double

Implicit widening conversion from PosZFloat to Double.

Implicit widening conversion from PosZFloat to Double.

Value parameters:
pos

the PosZFloat to widen

Returns:

the Float value underlying the specified PosZFloat, widened to Double.

Source:
PosZFloat.scala
implicit def widenToFloat(pos: PosZFloat): Float

Implicit widening conversion from PosZFloat to Float.

Implicit widening conversion from PosZFloat to Float.

Value parameters:
pos

the PosZFloat to widen

Returns:

the Float value underlying the specified PosZFloat

Source:
PosZFloat.scala

Implicit widening conversion from PosZFloat to PosZDouble.

Implicit widening conversion from PosZFloat to PosZDouble.

Value parameters:
pos

the PosZFloat to widen

Returns:

the Float value underlying the specified PosZFloat, widened to Double and wrapped in a PosZDouble.

Source:
PosZFloat.scala