-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Fractions -- -- This package provides a data type whose values represent fractions. -- -- A fraction can be seen as a real number from the closed interval -- [0,1]. It can also be seen as a percentage. @package fraction @version 0.1.0.3 -- | 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. module Data.Fraction -- | A fraction. data Fraction -- | Converts a factor into its corresponding fraction. -- -- If the factor is not from the interval [0,1], a runtime error occurs. fromFactor :: Real real => real -> Fraction -- | Converts a percentage into its corresponding fraction. -- -- If the percentage is not from the interval [0,100], a runtime error -- occurs. fromPercentage :: Real real => real -> Fraction -- | 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. fromNumber :: Real real => (real, real) -> real -> Fraction -- | Converts a fraction into its corresponding factor. toFactor :: Fraction -> Double -- | Converts a fraction into its corresponding percentage. toPercentage :: Fraction -> Double -- | Converts a fraction into its corresponding number regarding a certain -- interval. -- -- If the lower bound of the interval is equal to or greater than the -- upper bound, a runtime error occurs. toNumber :: (Double, Double) -> Fraction -> Double instance Monoid Fraction instance Semigroup Fraction