FiniteFloatUnion

PackageReified.Refinements
Operations over floats that are known to be neither infinite nor <c>NaN</c>.

Specification

Kind
Union
Members
17
Examples
0
constraint'Signature
FiniteFloat.constraint'
refinementSignature
FiniteFloat.refinement
valueSignature
FiniteFloat.value input
createSignature
FiniteFloat.create value
ofFloatSignature
FiniteFloat.ofFloat value

Summary

NameSignatureSynopsis
Union cases
Valuethis.ValueReturns the underlying value, which is always finite.
Operations
constraint'FiniteFloat.constraint' The portable constraint admitting only finite doubles.
refinementFiniteFloat.refinement No description available.
valueFiniteFloat.value inputReturns the underlying value.
createFiniteFloat.create valueAdmits a finite double, rejecting infinities and NaN.
ofFloatFiniteFloat.ofFloat valueReturns the finite value, or None when it is infinite or NaN.
zeroFiniteFloat.zero The additive identity.
oneFiniteFloat.one The multiplicative identity.
negateFiniteFloat.negate inputNegates the value.
absFiniteFloat.abs inputReturns the magnitude.
minFiniteFloat.min left rightReturns the smaller value.
maxFiniteFloat.max left rightReturns the larger value.
compareFiniteFloat.compare left rightCompares two finite doubles.
averageFiniteFloat.average valuesReturns the arithmetic mean.
sumFiniteFloat.sum valuesTotals a non-empty list, failing when the total leaves the finite range.
minimumFiniteFloat.minimum valuesReturns the smallest value.
maximumFiniteFloat.maximum valuesReturns the largest value.

Union cases

kind:member

Value

this.Value
Member
Returns the underlying value, which is always finite.

Returns

float

Operations

kind:member

constraint'

FiniteFloat.constraint'
Member
The portable constraint admitting only finite doubles.

Returns

Constraint<float>
kind:member

refinement

FiniteFloat.refinement
Member

Returns

Refinement<float, FiniteFloat>
kind:member

value

FiniteFloat.value input
Member
Returns the underlying value.

Parameters

NameTypeDescription
inputFiniteFloat

Returns

float
kind:member

create

FiniteFloat.create value
Member
Admits a finite double, rejecting infinities and NaN.

Parameters

NameTypeDescription
valuefloat

Returns

Result<FiniteFloat, Violation>
kind:member

ofFloat

FiniteFloat.ofFloat value
Member
Returns the finite value, or None when it is infinite or NaN.

Parameters

NameTypeDescription
valuefloat

Returns

FiniteFloat option
kind:member

zero

FiniteFloat.zero
Member
The additive identity.

Returns

FiniteFloat
kind:member

one

FiniteFloat.one
Member
The multiplicative identity.

Returns

FiniteFloat
kind:member

negate

FiniteFloat.negate input
Member
Negates the value. Total — negation cannot leave the finite range.

Parameters

NameTypeDescription
inputFiniteFloat

Returns

FiniteFloat
kind:member

abs

FiniteFloat.abs input
Member
Returns the magnitude. Total — abs cannot leave the finite range.

Parameters

NameTypeDescription
inputFiniteFloat

Returns

FiniteFloat
kind:member

min

FiniteFloat.min left right
Member
Returns the smaller value. Total, and meaningful because ordering is lawful.

Parameters

NameTypeDescription
leftFiniteFloat
rightFiniteFloat

Returns

FiniteFloat
kind:member

max

FiniteFloat.max left right
Member
Returns the larger value. Total, and meaningful because ordering is lawful.

Parameters

NameTypeDescription
leftFiniteFloat
rightFiniteFloat

Returns

FiniteFloat
kind:member

compare

FiniteFloat.compare left right
Member
Compares two finite doubles. Total and lawful, unlike comparison on float.

Parameters

NameTypeDescription
leftFiniteFloat
rightFiniteFloat

Returns

int
kind:member

average

FiniteFloat.average values
Member
Returns the arithmetic mean. Computed by dividing before summing, so a list whose total would overflow still averages successfully.

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat>

Returns

Result<FiniteFloat, Violation>
kind:member

sum

FiniteFloat.sum values
Member
Totals a non-empty list, failing when the total leaves the finite range.

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat>

Returns

Result<FiniteFloat, Violation>
kind:member

minimum

FiniteFloat.minimum values
Member
Returns the smallest value. Total, because ordering is lawful.

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat>

Returns

FiniteFloat
kind:member

maximum

FiniteFloat.maximum values
Member
Returns the largest value. Total, because ordering is lawful.

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat>

Returns

FiniteFloat