Name: qd Version: 0.2 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 @CDouble@s, with the following instances: . * @'Eq'@ . * @'Floating'@ . * @'Fractional'@ . * @'Num'@ . * @'Ord'@ . * @'Real'@ . * @'RealFloat'@ . * @'RealFrac'@ . * @'Show'@ . * @'Storable'@ . But note that the following functions (while present) are @'undefined'@: . * @'properFraction'@ . * @'truncate'@ . * @'round'@ . * @'decodeFloat'@ . * @'encodeFloat'@ . * @'exponent'@ . * @'significand'@ . Non-crashing implementations of these are planned in a future update to this package, as well as instances of @Enum@ and @Read@. . Additional note: libqd depends on 64bit doubles, while some FPU architectures use 80bit. It is highly recommended to compile with -fno-excess-precision and set the FPU control words to avoid erroneous behaviour, perhaps by doing something like this at the start of your program: . > import Foreign (nullPtr) > import GHC.Conc (forkOnIO, numCapabilities) > import Numeric.QD.FPU.Raw (fpu_fix_start) > main :: IO () > main = do > mapM_ (flip forkOnIO $ fpu_fix_start nullPtr) [ 0 .. numCapabilities - 1 ] > -- ... License: BSD3 License-file: LICENSE Author: Claude Heiland-Allen Maintainer: claudiusmaximus@goto10.org Category: Math Build-type: Simple Cabal-version: >=1.2 Library Build-depends: base >= 4 && < 5 Extra-Libraries: qd Exposed-modules: Numeric.QD Numeric.QD.Bits Numeric.QD.Bits.Raw Numeric.QD.DoubleDouble Numeric.QD.DoubleDouble.Raw Numeric.QD.FPU Numeric.QD.FPU.Raw Numeric.QD.QuadDouble Numeric.QD.QuadDouble.Raw Numeric.QD.Raw GHC-options: -O2 -Wall -fno-excess-precision GHC-prof-options: -O2 -Wall -fno-excess-precision -prof -auto-all -caf-all