PosFiniteDouble

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

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

Value members

Concrete methods

def ensuringValid(value: Double): PosFiniteDouble

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

A factory/assertion method that produces a PosFiniteDouble 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 finite positive Double, it will return a PosFiniteDouble representing that value. Otherwise, the passed Double value is not finite 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 finite positive.

Value parameters:
value

the Double to inspect, and if finite positive, return wrapped in a PosFiniteDouble.

Returns:

the specified Double value wrapped in a PosFiniteDouble, if it is finite positive, else throws AssertionError.

Throws:
AssertionError

if the passed value is not finite positive

Source:
PosFiniteDouble.scala
def from(value: Double): Option[PosFiniteDouble]

A factory method that produces an Option[PosFiniteDouble] given a Double value.

A factory method that produces an Option[PosFiniteDouble] given a Double value.

This method will inspect the passed Double value and if it is a finite positive Double, it will return a PosFiniteDouble representing that value, wrapped in a Some. Otherwise, the passed Double value is not finite 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.

Value parameters:
value

the Double to inspect, and if finite positive, return wrapped in a Some[PosFiniteDouble].

Returns:

the specified Double value wrapped in a Some[PosFiniteDouble], if it is PosFiniteDouble, else None.

Source:
PosFiniteDouble.scala
def fromOrElse(value: Double, default: => PosFiniteDouble): PosFiniteDouble

A factory method that produces a PosFiniteDouble given a Double value and a default PosFiniteDouble.

A factory method that produces a PosFiniteDouble given a Double value and a default PosFiniteDouble.

This method will inspect the passed Double value and if it is a finite positive Double, it will return a PosFiniteDouble representing that value. Otherwise, the passed Double value is finite 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.

Value parameters:
default

the PosFiniteDouble to return if the passed Double value is not finite positive.

value

the Double to inspect, and if finite positive, return.

Returns:

the specified Double value wrapped in a PosFiniteDouble, if it is finite positive, else the default PosFiniteDouble value.

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

A factory/validation method that produces a PosFiniteDouble, 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 PosFiniteDouble, 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 finite positive Double, it will return a PosFiniteDouble representing that value, wrapped in a Good. Otherwise, the passed Double value is not finite 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.

Value parameters:
value

the Double to inspect, and if finite positive, return wrapped in a Good(PosFiniteDouble).

Returns:

the specified Double value wrapped in a Good(PosFiniteDouble), if it is finite positive, else a Bad(f(value)).

Source:
PosFiniteDouble.scala
def isValid(value: Double): Boolean

A predicate method that returns true if a given Double value is finite positive.

A predicate method that returns true if a given Double value is finite positive.

Value parameters:
value

the Double to inspect, and if finite positive, return true.

Returns:

true if the specified Double is positive, else false.

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

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 finite positive Double, it will return a Pass. Otherwise, the passed Double value is finite 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.

Value parameters:
value

the Int to validate that it is finite positive.

Returns:

a Pass if the specified Int value is finite positive, else a Fail containing an error value produced by passing the specified Double to the given function f.

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

A factory/validation method that produces a PosFiniteDouble, 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 PosFiniteDouble, 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 finite positive Double, it will return a PosFiniteDouble representing that value, wrapped in a Right. Otherwise, the passed Double value is not finite 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.

Value parameters:
value

the Double to inspect, and if finite positive, return wrapped in a Right(PosFiniteDouble).

Returns:

the specified Double value wrapped in a Right(PosFiniteDouble), if it is finite positive, else a Left(f(value)).

Source:
PosFiniteDouble.scala
def tryingValid(value: Double): Try[PosFiniteDouble]

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

Value parameters:
value

the Float to inspect, and if finite positive, return wrapped in a Success(PosFiniteDouble).

Returns:

the specified Float value wrapped in a Success(PosFiniteDouble), if it is finite positive, else a Failure(AssertionError).

Source:
PosFiniteDouble.scala

Concrete fields

The largest value representable as a finite positive Double, which is PosFiniteDouble(1.7976931348623157E308).

The largest value representable as a finite positive Double, which is PosFiniteDouble(1.7976931348623157E308).

Source:
PosFiniteDouble.scala

The smallest positive value greater than 0.0d representable as a PosFiniteDouble, which is PosFiniteDouble(4.9E-324).

The smallest positive value greater than 0.0d representable as a PosFiniteDouble, which is PosFiniteDouble(4.9E-324).

Source:
PosFiniteDouble.scala

The smallest value representable as a finite positive Double, which is PosFiniteDouble(4.9E-324).

The smallest value representable as a finite positive Double, which is PosFiniteDouble(4.9E-324).

Source:
PosFiniteDouble.scala

Implicits

Implicits

implicit inline def apply(value: => Double): PosFiniteDouble

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

A factory method, implemented via a macro, that produces a PosFiniteDouble 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 finite positive Double literal, it will return a PosFiniteDouble representing that value. Otherwise, the passed Double expression is either a literal that is not finite 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.

Value parameters:
value

the Double literal expression to inspect at compile time, and if finite positive, to return wrapped in a PosFiniteDouble at run time.

Returns:

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

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

Implicit Ordering instance.

Implicit Ordering instance.

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

Implicit widening conversion from PosFiniteDouble to Double.

Implicit widening conversion from PosFiniteDouble to Double.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

the Double value underlying the specified PosFiniteDouble

Source:
PosFiniteDouble.scala

Implicit widening conversion from PosFiniteDouble to FiniteDouble.

Implicit widening conversion from PosFiniteDouble to FiniteDouble.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

the Double value underlying the specified PosFiniteDouble, widened to Double and wrapped in a FiniteDouble.

Source:
PosFiniteDouble.scala

Implicit widening conversion from PosFiniteDouble to NonZeroDouble.

Implicit widening conversion from PosFiniteDouble to NonZeroDouble.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

the Double value underlying the specified PosFiniteDouble, widened to Double and wrapped in a NonZeroDouble.

Source:
PosFiniteDouble.scala

Implicit widening conversion from PosFiniteDouble to PosDouble.

Implicit widening conversion from PosFiniteDouble to PosDouble.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

the Double value underlying the specified PosFiniteDouble, widened to Double and wrapped in a PosDouble.

Source:
PosFiniteDouble.scala

Implicit widening conversion from PosFiniteDouble to PosZDouble.

Implicit widening conversion from PosFiniteDouble to PosZDouble.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

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

Source:
PosFiniteDouble.scala

Implicit widening conversion from PosFiniteDouble to PosZFiniteDouble.

Implicit widening conversion from PosFiniteDouble to PosZFiniteDouble.

Value parameters:
pos

the PosFiniteDouble to widen

Returns:

the Double value underlying the specified PosFiniteDouble, widened to Double and wrapped in a PosZFiniteDouble.

Source:
PosFiniteDouble.scala