The qd package
This package supports both a double-double datatype (approx. 32 decimal digits) and a quad-double datatype (approx. 64 decimal digits), using libqd (which is implemented in C++ with C and Fortran wrappers). To compile this package you need libqd to be installed.
Numeric.QD.DoubleDouble.DoubleDouble and Numeric.QD.QuadDouble.QuadDouble are strict tuples of CDoubles, with instances of: BinDecode, DecimalFormat, Eq, Floating, Fractional, Num, Ord, Read, Real, RealFrac, Show, Storable, Typeable.
Additional note: libqd depends on 64bit doubles, while some FPU architectures use 80bit. When using the Unsafe modules this might cause erroneous results; the Safe modules (used by the instances above) set and restore the FPU flags in foreign code to avoid race conditions from pre-emptive Haskell threading.
The RealFloat instances have been removed in this release as they were mostly broken: RealFloat semantics are for fixed-precision numbers.
Properties
| Versions | 0.1, 0.2, 0.4, 0.4.1, 1.0 |
|---|---|
| Dependencies | base (4.*), floatshow (0.2.*) |
| License | BSD3 |
| Author | Claude Heiland-Allen |
| Maintainer | claudiusmaximus@goto10.org |
| Category | Math |
| Upload date | Fri Jun 10 09:20:55 UTC 2011 |
| Uploaded by | ClaudeHeilandAllen |
| Built on | ghc-7.0, ghc-7.2 |
Modules
Downloads
- qd-1.0.tar.gz (Cabal source package)
- package description (included in the package)