Description
Affine arithmetic library for Haskell.
Description
Hafar is an affine arithmetic library for Haskell. It is an efficient way to work with ranges of values or imprecise values.
README.md
Hafar
Hafar is an implementation of affine arithmetic in haskell.
Building
To build the library, simply run
# stack build
or if using cabal
# cabal install --only-dependencies
# cabal build
Example
All operations with affine forms must be done inside the AFM monad.
import Numeric.Interval hiding (interval)
x1 = do
a <- newFromInterval $ 4...6
b <- newFromInterval $ 4...6
return . interval $ a - b
evalAFM x1 -- evaluates to approximately -2 ... 2
x2 = do
a <- newFromInterval $ 4...6
return . interval $ a - a
evalAFM x2 -- evaluates to approximately 0 ... 0