arbitrary precision real interval arithmetic

Latest on Hackage:2011.1.0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Michal Konecny (Aston University)
Maintained by

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


2011.1.0.2: 11th May 2011
* fixed some dependencies
2011.1.0.1: 11th May 2011
* minor update of dependencies and documentation to reflect inability to build with ghc 7.0.*
2011.1: 6th May 2011
* initial release of AERN-Real-Double

comments powered byDisqus