Portability | portable |
---|---|
Stability | experimental |
Maintainer | mik@konecny.aow.cz |
This module defines an arbitrary precision interval type and most of its interval arithmetic operations.
- data ERInterval base
- = ERIntervalEmpty
- | ERIntervalAny
- | ERInterval {
- erintv_left :: base
- erintv_right :: base
- normaliseERInterval :: ERRealBase b => ERInterval b -> ERInterval b
- intervalTimesInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval b
- intervalPlusInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval b
- intervalDivideInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval b
Documentation
data ERInterval base Source
Type for arbitrary precision interval arithmetic.
ERIntervalEmpty | usually represents computation error (top element in the interval domain) |
ERIntervalAny | represents no knowledge of result (bottom element in the interval domain) |
ERInterval | |
|
Typeable1 ERInterval | |
ERRealBase b => Eq (ERInterval b) | |
ERRealBase b => Fractional (ERInterval b) | |
Data base => Data (ERInterval base) | |
ERRealBase b => Num (ERInterval b) | |
ERRealBase b => Ord (ERInterval b) | |
ERRealBase b => Show (ERInterval b) | |
Binary a => Binary (ERInterval a) | |
(ERRealBase b, HTML b) => HTML (ERInterval b) | |
(ERRealBase b, RealFrac b) => ERIntApprox (ERInterval b) | |
(ERRealBase b, RealFrac b) => ERApprox (ERInterval b) | |
(ERRealBase b, RealFrac b) => ERApproxElementary (ERInterval b) |
normaliseERInterval :: ERRealBase b => ERInterval b -> ERInterval bSource
convert to a normal form, ie:
- no NaNs as endpoints
l <= r
- no (-Infty, +Infty)
intervalTimesInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval bSource
Multiply two real approximations, assuming the approximations are inner
as opposed to outer
:
-
outer
: the approximation contains all the number(s) of interest *inner
: all numbers eligible for the approximation are numbers of interest
intervalPlusInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval bSource
Add two real approximations, assuming the approximations are inner
as opposed to outer
:
-
outer
: the approximation contains all the number(s) of interest *inner
: all numbers eligible for the approximation are numbers of interest
intervalDivideInner :: ERRealBase b => ERInterval b -> ERInterval b -> ERInterval bSource