FiniteFloat32Module

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

Summary

NameSignatureSynopsis
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.

constraint'

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

Returns

Constraint<float32>

refinement

FiniteFloat32.refinement
Member

Returns

Refinement<float32, FiniteFloat32>

value

FiniteFloat32.value input
Member
Returns the underlying value.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

float32

create

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

Parameters

NameTypeDescription
valuefloat32

Returns

Result<FiniteFloat32, Violation>

ofFloat32

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

Parameters

NameTypeDescription
valuefloat32

Returns

FiniteFloat32 option

negate

FiniteFloat32.negate input
Member
Negates the value. Total.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat32

abs

FiniteFloat32.abs input
Member
Returns the magnitude. Total.

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat32

min

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

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

FiniteFloat32

max

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

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

FiniteFloat32

toFiniteFloat

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

Parameters

NameTypeDescription
inputFiniteFloat32

Returns

FiniteFloat

zero

FiniteFloat32.zero
Member
The additive identity.

Returns

FiniteFloat32

one

FiniteFloat32.one
Member
The multiplicative identity.

Returns

FiniteFloat32

compare

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

Parameters

NameTypeDescription
leftFiniteFloat32
rightFiniteFloat32

Returns

int

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>

minimum

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

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat32>

Returns

FiniteFloat32

maximum

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

Parameters

NameTypeDescription
valuesNonEmptyList<FiniteFloat32>

Returns

FiniteFloat32