FiniteFloat32Module

PackageReified.Refinements
Operations over single-precision floats that are known to be finite.

Summary

NameSignatureSynopsis
Union cases
Valuethis.ValueReturns the underlying value, which is always finite.
Operations
constraint'FiniteFloat32.constraint' The portable constraint admitting only finite single-precision floats.
refinementFiniteFloat32.refinement No description available.
valueFiniteFloat32.value inputReturns the underlying value.
createFiniteFloat32.create valueAdmits a finite single-precision float.
ofFloat32FiniteFloat32.ofFloat32 valueReturns the finite value, or None when it is infinite or NaN.
negateFiniteFloat32.negate inputNegates the value.
absFiniteFloat32.abs inputReturns the magnitude.
minFiniteFloat32.min left rightReturns the smaller value.
maxFiniteFloat32.max left rightReturns the larger value.
toFiniteFloatFiniteFloat32.toFiniteFloat inputWidens to double precision.
zeroFiniteFloat32.zero The additive identity.
oneFiniteFloat32.one The multiplicative identity.
compareFiniteFloat32.compare left rightCompares two finite singles.
sumFiniteFloat32.sum valuesTotals a non-empty list, failing when the total leaves the finite range.
minimumFiniteFloat32.minimum valuesReturns the smallest value.
maximumFiniteFloat32.maximum valuesReturns the largest value.

Union cases

kind:member

Value

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

Returns

float32

Operations

kind:member

constraint'

FiniteFloat32.constraint'
Member
The portable constraint admitting only finite single-precision floats.

Returns

Constraint<float32>
kind:member

refinement

FiniteFloat32.refinement
Member

Returns

Refinement<float32, FiniteFloat32>
kind:member

value

FiniteFloat32.value input
Member
Returns the underlying value.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

float32
kind:member

create

FiniteFloat32.create value
Member
Admits a finite single-precision float.

Parameters

NameTypeDescription
valuefloat32

Returns

Result<FiniteFloat32, Violation>
kind:member

ofFloat32

FiniteFloat32.ofFloat32 value
Member
Returns the finite value, or None when it is infinite or NaN.

Parameters

NameTypeDescription
valuefloat32

Returns

FiniteFloat32 option
kind:member

negate

FiniteFloat32.negate input
Member
Negates the value. Total.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat32
kind:member

abs

FiniteFloat32.abs input
Member
Returns the magnitude. Total.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat32
kind:member

min

FiniteFloat32.min left right
Member
Returns the smaller value. Total.

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

FiniteFloat32
kind:member

max

FiniteFloat32.max left right
Member
Returns the larger value. Total.

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

FiniteFloat32
kind:member

toFiniteFloat

FiniteFloat32.toFiniteFloat input
Member
Widens to double precision. Total — every finite single is a finite double.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat
kind:member

zero

FiniteFloat32.zero
Member
The additive identity.

Returns

FiniteFloat32
kind:member

one

FiniteFloat32.one
Member
The multiplicative identity.

Returns

FiniteFloat32
kind:member

compare

FiniteFloat32.compare left right
Member
Compares two finite singles. Total and lawful, unlike comparison on float32.

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

int
kind:member

sum

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

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat32>

Returns

Result<FiniteFloat32, Violation>
kind:member

minimum

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

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat32>

Returns

FiniteFloat32
kind:member

maximum

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

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat32>

Returns

FiniteFloat32