是否可以在GHC / Haskell中使用扩展精度(80位)浮点运算?

时间:2013-05-28 17:12:34

标签: haskell floating-point ghc floating-point-precision extended-precision

标准Haskell的Double使用the standard double-precision arithmetic

  

data Double   双精度浮点数。希望这种类型在范围和精度上至少与IEEE双精度类型相等。

GHC / Haskell是否也提供了extended precision(80位)浮点数,也许使用了一些外部库?

1 个答案:

答案 0 :(得分:13)

正如chuff指出的那样,你可能想看看hackage上的numbers包。您可以使用cabal install numbers进行安装。这是一个例子:

import Data.Number.CReal -- from numbers

main :: IO ()
main = putStrLn (showCReal 100 (sqrt 2))

-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727

作为documentation状态,showCReal返回一个字符串,显示给定数量的类型CReal,并带有给定的小数位数。