14

標準Haskell的Double使用the standard double-precision arithmetic是否可以在GHC/Haskell中使用擴展精度(80位)浮點運算?

data Double 雙精度浮點數。希望這種類型至少與IEEE雙精度類型的範圍和精度相同。

是否GHC /哈斯克爾報價也某處extended precision(80位)浮點數,可能使用一些外部庫?

+4

參見:[GHC#3353:添加'CLDouble'支持](http://hackage.haskell.org/trac/ghc/ticket/3353) – hammar

+0

另請參閱[** this **](http:// hackage.haskell.org/package/numbers-3000.0.0.0) – chuff

回答

10

正如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的給定數量的字符串。

+1

我想我假設我正在和一個初學者說話...反正。 ;) –

+6

我不認爲他在尋找任意精度,只是一種利用大多數流行處理器的80位浮點功能的方法。 – hammar

+1

是的,感謝指向_numbers_的指針,它可能派上用場,但現在我正在尋找80位浮點運算。 –