qd

Version 1.0.2.1 revision 0 uploaded by ClaudeHeilandAllen.

Package meta

Synopsis
double-double and quad-double number type via libqd
Description

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.

Author
Claude Heiland-Allen
Bug reports
n/a
Category
Math
Copyright
n/a
Homepage
n/a
Maintainer
claude@mathr.co.uk
Package URL
n/a
Stability
n/a

Components