Safe Haskell  None 

Language  Haskell2010 
This module exports everything you need to use exact real numbers
 data CReal n
 atPrecision :: CReal n > Int > Integer
 crealPrecision :: KnownNat n => CReal n > Int
Documentation
The type CReal represents a fast binary Cauchy sequence. This is a Cauchy sequence with the invariant that the pth element will be within 2^p of the true value. Internally this sequence is represented as a function from Ints to Integers.
KnownNat n => Eq (CReal n) Source  Values of type

Floating (CReal n) Source  
Fractional (CReal n) Source  Taking the reciprocal of zero will not terminate 
Num (CReal n) Source 
This is a little bit of a fudge, but it's probably better than failing to terminate when trying to find the sign of zero. The class still respects the abssignum law though.

KnownNat n => Ord (CReal n) Source  Like equality values of type 
KnownNat n => Real (CReal n) Source 

KnownNat n => Show (CReal n) Source  A CReal with precision p is shown as a decimal number d such that d is within 2^p of the true value.

atPrecision :: CReal n > Int > Integer Source
x `atPrecision` p
returns the numerator of the pth element in the
Cauchy sequence represented by x. The denominator is 2^p.
>>>
10 `atPrecision` 10
10240
crealPrecision :: KnownNat n => CReal n > Int Source
crealPrecision x returns the type level parameter representing x's default precision.
>>>
crealPrecision (1 :: CReal 10)
10