{-| 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))