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 Algebra.Transcendental class.
Laws that must be satisfied by instances:
fromRational' . toRational === idMethods
toRational :: a -> RationalLossless conversion from any representation of a rational to Rational
Instances19C, …
C IntegerDefined in numeric-prelude-0.4.4 · Algebra.ToRationalC Int16Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Int32Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Int64Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Int8Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Word16Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Word32Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Word64Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC Word8Defined in numeric-prelude-0.4.4 · Algebra.ToRationalC DoubleDefined in numeric-prelude-0.4.4 · Algebra.ToRationalC FloatDefined in numeric-prelude-0.4.4 · Algebra.ToRationalC IntDefined in numeric-prelude-0.4.4 · Algebra.ToRationalC WordDefined in numeric-prelude-0.4.4 · Algebra.ToRationalC TDefined in numeric-prelude-0.4.4 · Number.PeanoReal a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.Wrapper.Haskell98C a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.Wrapper.NumericPrelude(Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan(C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Algebra.ToInteger · orphan(C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegativeChunky