This module is about fractions.

A fraction can be seen as a real number from the closed interval [0,1]. It can also be seen as a percentage. A typical example of a fraction is the extend of a progress bar.

# Fraction type

# Conversion

fromFactor :: Real real => real -> FractionSource

Converts a factor into its corresponding fraction.

If the factor is not from the interval [0,1], a runtime error occurs.

fromPercentage :: Real real => real -> FractionSource

Converts a percentage into its corresponding fraction.

If the percentage is not from the interval [0,100], a runtime error occurs.

fromNumber :: Real real => (real, real) -> real -> FractionSource

Converts a number into its corresponding fraction regarding a certain interval.

If the lower bound of the interval is equal to or greater than the upper bound or the value is not from the interval, a runtime error occurs.

toPercentage :: Fraction -> DoubleSource

Converts a fraction into its corresponding percentage.