This package provides bindings and tests for using machine Double
values as endpoints for the interval arithmetic defined in packages AERN-Basics and
AERN-Real.
Most users of this package will only need to import one end-user API module.
There is a choice of three such modules, each providing a different
level of abstraction for the type of intervals with Double endpoints:
Numeric.AERN.DoubleBasis.RealApprox
gives RealApprox - an abstract data type
limited to operations that interpret each interval strictly as an
approximation to a single real number. As an instance of Fractional,
the numerical operations safely overapproximate
the exact real operations by rounding the intervals outwards.
Numeric.AERN.DoubleBasis.RealIntervalApprox
gives RealIntervalApprox - an abstract
data type limited to operations that interpret each interval strictly as an
approximation to a set of real numbers. All RealApprox operations are
available also for RealIntervalApprox. Additionally, one can create approximations that
certainly cover two given approximations and one can perform all
operations rounding inwards to allow safe semi-deciding of set inclusions.
As a consequence of inner rounding, anti-consistent intervals such as [1,0] may arise
and are treated using Kaucher arithmetic.
Numeric.AERN.DoubleBasis.Interval
gives full access to the interval type,
including the Double endpoints.
The accompanying modules Numeric.AERN.DoubleBasis.MRealApprox
, Numeric.AERN.DoubleBasis.MRealIntervalApprox
and Numeric.AERN.DoubleBasis.MInterval
add in-place versions of most of the pure operations
provided by the respective above module.
For further information, please refer to the documentation of these six modules
and the sample programs in the demo folder.
This package does not compile with ghc 7.0.* due to a
compiler bug that has been fixed for the 7.2.1 release.
Haddock documentation can be found via http://code.google.com/p/aern/wiki/Main.