Safe Haskell | None |
---|---|
Language | Haskell98 |
- class (C a, C a, Ord a) => C a where
- toRational :: a -> Rational
- realToField :: (C a, C b) => a -> b
Documentation
class (C a, C a, Ord a) => C a where Source
This class allows lossless conversion
from any representation of a rational to the fixed Rational
type.
"Lossless" means - don't do any rounding.
For rounding see Algebra.RealRing.
With the instances for Float
and Double
we acknowledge that these types actually represent rationals
rather than (approximated) real numbers.
However, this contradicts to the Transcendental
class.
Laws that must be satisfied by instances:
fromRational' . toRational === id
toRational :: a -> Rational Source
Lossless conversion from any representation of a rational to Rational