標準Haskell的Double使用the standard double-precision arithmetic:是否可以在GHC/Haskell中使用擴展精度(80位)浮點運算?
data Double
雙精度浮點數。希望這種類型至少與IEEE雙精度類型的範圍和精度相同。
是否GHC /哈斯克爾報價也某處extended precision(80位)浮點數,可能使用一些外部庫?
標準Haskell的Double使用the standard double-precision arithmetic:是否可以在GHC/Haskell中使用擴展精度(80位)浮點運算?
data Double
雙精度浮點數。希望這種類型至少與IEEE雙精度類型的範圍和精度相同。
是否GHC /哈斯克爾報價也某處extended precision(80位)浮點數,可能使用一些外部庫?
正如chuff指出的那樣,您可能想要看看包裝上的numbers包。您可以使用cabal install numbers
進行安裝。下面是一個例子:
import Data.Number.CReal -- from numbers
main :: IO()
main = putStrLn (showCReal 100 (sqrt 2))
-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727
作爲documentation狀態,showCReal
返回表示帶有小數的給定數量的類型CReal
的給定數量的字符串。
我想我假設我正在和一個初學者說話...反正。 ;) –
我不認爲他在尋找任意精度,只是一種利用大多數流行處理器的80位浮點功能的方法。 – hammar
是的,感謝指向_numbers_的指針,它可能派上用場,但現在我正在尋找80位浮點運算。 –
參見:[GHC#3353:添加'CLDouble'支持](http://hackage.haskell.org/trac/ghc/ticket/3353) – hammar
另請參閱[** this **](http:// hackage.haskell.org/package/numbers-3000.0.0.0) – chuff