# approximate-equality: Newtype wrappers for approximate equality

The purpose of this module is to provide newtype wrappers that allow one to effectively override the equality operator of a value so that it is *approximate* rather than *exact*. The wrappers use type annotations to specify the tolerance; the `Digits`

type constructor has been provided for specifying the tolerance using type-level natural numbers. Instances for all of the classes in the numerical hierarchy have been provided for the wrappers, so the wrapped values can mostly be used in the same way as the original values. (In fact, most of the time one doesn't even have to wrap the starting values, since expressions such as `(1+sqrt 2/3)`

are automatically wrapped thanks to the `fromIntegral`

method of the `Num`

typeclass.)
See the documentation for Data.Eq.Approximate for more detailed information on how to use this package.

Versions [RSS] [faq] | 1.0, 1.1, 1.1.0.1, 1.1.0.2 |
---|---|

Dependencies | base (>=3 && <5), type-level-natural-number (==1.0.*) [details] |

License | BSD-3-Clause |

Author | Gregory Crosswhite |

Maintainer | Gregory Crosswhite <gcross@phys.washington.edu> |

Category | Data |

Home page | http://github.com/gcross/approximate-equality |

Uploaded | by GregoryCrosswhite at 2010-08-03T04:14:21Z |

Distributions | LTSHaskell:1.1.0.2, NixOS:1.1.0.2, Stackage:1.1.0.2 |

Downloads | 3390 total (30 in the last 30 days) |

Rating | (no votes yet) [estimated by Bayesian average] |

Your Rating | |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Downloads

- approximate-equality-1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)