HERA-0.2ContentsIndex
Data.Number.DyadicInterval
Synopsis
type Interval = Maybe Ball
fromBallA :: Precision -> Ball -> Interval
fromBall :: Ball -> Interval
make :: Dyadic -> Dyadic -> Interval
makeA :: Precision -> Dyadic -> Dyadic -> Interval
below :: Interval -> Interval -> Bool
contains :: Interval -> Dyadic -> Bool
includes :: Interval -> Interval -> Inclusion
intersectA :: Precision -> Interval -> Interval -> Interval
intersect :: Interval -> Interval -> Interval
neg :: Precision -> Interval -> Interval
add :: Precision -> Interval -> Interval -> Interval
mul :: Precision -> Interval -> Interval -> Interval
sub :: Precision -> Interval -> Interval -> Interval
div :: Precision -> Interval -> Interval -> Interval
sqrt :: Precision -> Interval -> Interval
exp :: Precision -> Interval -> Interval
log :: Precision -> Interval -> Interval
compareI :: Interval -> Interval -> POrdering
maxI :: Precision -> Interval -> Interval -> Interval
minI :: Precision -> Interval -> Interval -> Interval
center :: Monad m => Interval -> m Dyadic
radius :: Monad m => Interval -> m Dyadic
lower :: Monad m => Interval -> m Dyadic
upper :: Monad m => Interval -> m Dyadic
width :: Monad m => Interval -> m Dyadic
fromDyadic :: Precision -> Dyadic -> Interval
fromString :: Precision -> String -> Interval
fromInt :: Precision -> Int -> Interval
fromWord :: Precision -> Word -> Interval
toString :: Interval -> String
Documentation
type Interval = Maybe Ball

A wrapper around Ball allowing the results of operations like division by interval containing zero to be represented and do not cause errors.

Nothing represents undefined interval.

fromBallA :: Precision -> Ball -> Interval
Make an interval from a ball and normalize it to specified precision.
fromBall :: Ball -> Interval
Just make an interval from a ball.
make :: Dyadic -> Dyadic -> Interval
Make an interval from two endpoints so that no precision is lost.
makeA
:: Precisionprecision of the interval's center
-> Dyadicleft endpoint
-> Dyadicright endpoint
-> Interval
Make an interval from two endpoints.
below :: Interval -> Interval -> Bool
Checks if second interval is inside the first. _|_ is above all.
contains :: Interval -> Dyadic -> Bool
Checks if interval contains dyadic. _|_ contains everything.
includes :: Interval -> Interval -> Inclusion
Returns Below if second interval is inside first, Above if converse, NoInclusion otherwise.
intersectA :: Precision -> Interval -> Interval -> Interval

Return the intersection of two intervals. The resulting interval's center has specified precision.

If one of the intervals is _|_ then just return the other (even if it is _|_).

intersect :: Interval -> Interval -> Interval
Return the intersection of two intervals so that no precision is lost.
neg :: Precision -> Interval -> Interval
Negate the interval. neg _|_ = _|_.
add :: Precision -> Interval -> Interval -> Interval
Addition. If one of the arguments is _|_, so is the result.
mul :: Precision -> Interval -> Interval -> Interval
Multiplication. If one of the arguments is _|_, so is the result
sub :: Precision -> Interval -> Interval -> Interval
Subtraction. If one of the arguments is _|_, so is the result
div :: Precision -> Interval -> Interval -> Interval
Division. If one of the arguments is _|_ or divisor contains 0 then result is _|_.
sqrt :: Precision -> Interval -> Interval
Square root. If one argument is _|_ or interval contains 0 then result is _|_.
exp :: Precision -> Interval -> Interval
e ^ i If argument is _|_ so is the result.
log :: Precision -> Interval -> Interval
Natural logarithm. If one argument is _|_ or interval contains 0 then result is _|_.
compareI :: Interval -> Interval -> POrdering
Compare two intervals. If one of them is _|_ the result is incomparable, otherwise result is comparison of balls.
maxI :: Precision -> Interval -> Interval -> Interval
Maximum of intervals. If one interval is _|_ so is the result.
minI :: Precision -> Interval -> Interval -> Interval
Similar to maxI.
center :: Monad m => Interval -> m Dyadic
Center of interval. Center on _|_ will result in fail.
radius :: Monad m => Interval -> m Dyadic
Radius of interval. Radius on _|_ will result in fail.
lower :: Monad m => Interval -> m Dyadic
Lower endpoint of interval with precision of the center. Lower on _|_ will result in fail.
upper :: Monad m => Interval -> m Dyadic
Upper endpoint of interval with precision of the center. Upper on _|_ will result in fail.
width :: Monad m => Interval -> m Dyadic
Width of the interval. Widht on _|_ will result in fail.
fromDyadic :: Precision -> Dyadic -> Interval
fromString :: Precision -> String -> Interval
fromInt :: Precision -> Int -> Interval
fromWord :: Precision -> Word -> Interval
toString :: Interval -> String
Produced by Haddock version 2.2.2