numeric-prelude-0.1.3.4: An experimental alternative hierarchy of numeric type classes

Algebra.ToRational

Synopsis

Documentation

class C a => C a whereSource

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

Laws that must be satisfied by instances:

  fromRational' . toRational === id

Methods

toRational :: a -> RationalSource

Lossless conversion from any representation of a rational to Rational

Instances

C Double 
C Float 
C Int 
C Int8 
C Int16 
C Int32 
C Int64 
C Integer 
C Word 
C Word8 
C Word16 
C Word32 
C Word64 
C T 
C a => C (T a) 
(C a, C a) => C (T a) 
(C a, C a) => C (T a)