Portability | non-portable (requires fenv.h) |
---|---|
Stability | experimental |
Maintainer | mik@konecny.aow.cz |
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 ()
- type B = BMAP
- type BM = Double
- type BAP = ERFloat
- type BMAP = ERMachineAP BAP
- type BR = ExtendedRational
- type RA = ERInterval B
- type IRA = ERInterval B
Documentation
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.
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