Portability | portable |
---|---|

Stability | experimental |

Maintainer | mik@konecny.aow.cz |

generic types for exact real number processing

- type Precision = ExtendedInteger
- type Granularity = Int
- prec2gran :: Precision -> Granularity
- type EffortIndex = Integer
- effIx2gran :: EffortIndex -> Granularity
- effIx2prec :: EffortIndex -> Precision
- effIx2int :: EffortIndex -> Int
- int2effIx :: Int -> EffortIndex
- prec2effIx :: Precision -> EffortIndex
- gran2effIx :: Granularity -> EffortIndex

# Documentation

type Precision = ExtendedIntegerSource

Precision represents an upper bound on the measure of
an approximation viewed as a set;
not to be confused with the precision of
an `Data.Number.ER.Real.Base.Float.ERFloat`

and similar.

In an approximation comprising a number of
instances of `Data.Number.ER.Real.Base.ERRealBase`

,
we will refer to the bit-precision of these base components
as the `Granularity`

of the approximation.

type Granularity = IntSource

The bit size of the floating point numbers (or similar) used internally in real number and function approximations.

type EffortIndex = IntegerSource

This type synonym should be used for funciton parameter(s) that guide the convergence of the function's result to a perfect (exact) result.

The name should remind us that there is no universally valid relationship between this integer the quality (precision) of the result. The only condition usually assumed is that in the limit when the effort index rises to infinity, the result should be exact.

effIx2int :: EffortIndex -> IntSource

int2effIx :: Int -> EffortIndexSource