aern2-real-0.2.10.0: src/AERN2/Real.hs
{-|
Module : AERN2.Real
Description : Exact real numbers
Copyright : (c) Michal Konecny
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Exact real numbers represented by Cauchy sequences of MPBalls.
-}
module AERN2.Real
(
-- * real numbers and conversions
CReal,
CSequence (..),
creal, HasCReals, CanBeCReal,
cseqPrecisions, cseqIndexForPrecision,
cseqFromWithCurrentPrec, cseqFromPrecFunction,
pi,
crealFromWithCurrentPrec, crealFromPrecFunction,
-- * limits
HasLimits(..),
-- * lazy Kleeneans
CKleenean, CanBeCKleenean, ckleenean,
CanSelect(..), CanSelectBool, CanSelectCNBool,
-- * extracting approximations
CanExtractApproximation(..), (?), bits, prec,
-- * abstract real numbers
RealNumber
)
where
import AERN2.Limit
import AERN2.Select
import AERN2.MP
import AERN2.MP.WithCurrentPrec
import AERN2.Real.Type
import AERN2.Real.Comparisons ()
import AERN2.Real.CKleenean
import AERN2.Real.Field ()
import AERN2.Real.Limit ()
import AERN2.Real.Elementary (pi)
-- import AERN2.Real.Tests ()
import MixedTypesNumPrelude
-- import qualified Prelude as P
import GHC.TypeLits ( KnownNat )
import Numeric.CollectErrors (CanTakeCNErrors)
-- import Text.Printf
-- -- import AERN2.MP.Dyadic
class
(OrderedField r
, HasLimitsSameType Int r
, HasLimitsSameType Integer r
, HasLimitsSameType Rational r
, CanTakeCNErrors r
, CanSelectCNBool (OrderCompareType r r)
, OrderCompareType r r ~ OrderCompareType Integer r
, OrderCompareType r r ~ OrderCompareType r Integer
, OrderCompareType r r ~ OrderCompareType Int r
, OrderCompareType r r ~ OrderCompareType r Int
, OrderCompareType r r ~ OrderCompareType Rational r
, OrderCompareType r r ~ OrderCompareType r Rational
, EqCompareType r r ~ OrderCompareType r r
, EqCompareType r r ~ EqCompareType Integer r
, EqCompareType r r ~ EqCompareType r Integer
, EqCompareType r r ~ EqCompareType Int r
, EqCompareType r r ~ EqCompareType r Int
, EqCompareType r r ~ EqCompareType Rational r
, EqCompareType r r ~ EqCompareType r Rational)
=>
RealNumber r
instance RealNumber CReal
instance
(KnownNat p) =>
RealNumber (WithCurrentPrec p (CN MPBall))