MyNixOS website logo
Description

arbitrary precision real interval arithmetic.

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.

Metadata

Version

2011.1.0.2

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows