AERN-Real- arbitrary precision interval arithmetic for approximating exact real numbers

Portabilitynon-portable (requires fenv.h)



This module supplies default instances for the real number classes defined in Data.Number.ER.Real.Approx.

These classes express loosely coupled abstraction layers. To preserve the intended loose coupling, please use these definitions only in functions that do not import or export any real numbers or real functions.



initMachineDouble :: IO ()Source

Set machine floating point unit to the upwards-directed rounding mode.

This procedure has to be executed before using Double as a basis for interval and polynomial arithmetic defined in this package.

type B = BMAPSource

the default base type

type BM = DoubleSource

Limited granularity, but sometimes up to 100x faster than ERFloat!

!!! to be safe, one has to run initMachineDouble

type BMAP = ERMachineAP BAPSource

Use machine Double while the granularity is up to its significant bit length and when the granularity grows beyond that, use ERFloat.

!!! to be safe, one has to run initMachineDouble

type BR = ExtendedRationalSource

very inefficient

type RA = ERInterval BSource

the default instance of Data.Number.ER.Real.Approx.ERApprox

type IRA = ERInterval BSource

the default instance of Data.Number.ER.Real.Approx.ERIntApprox