module AERN2.Real
(
CReal,
CSequence (..),
creal, HasCReals, CanBeCReal,
cseqPrecisions, cseqIndexForPrecision,
cseqFromWithCurrentPrec, cseqFromPrecFunction,
pi,
crealFromWithCurrentPrec, crealFromPrecFunction,
HasLimits(..),
CKleenean, CanBeCKleenean, ckleenean,
CanSelect(..), CanSelectBool, CanSelectCNBool,
CanExtractApproximation(..), (?), bits, prec,
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 MixedTypesNumPrelude
import GHC.TypeLits ( KnownNat )
import Numeric.CollectErrors (CanTakeCNErrors)
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))