14

standart Haskell Doublethe standard double-precision arithmetic kullanır:GHC/Haskell'de genişletilmiş kesinlik (80 bit) kayan nokta aritmetiği kullanmak mümkün mü?

data Double Çift duyarlıklı kayan nokta sayıları. Bu tipin IEEE çift duyarlıklı tipte en azından eşit aralıkta ve hassasiyette olması istenir.

GHC/Haskell belki bazı dış kitaplığını kullanarak, bir yerde de extended precision (80-bit) kayan nokta sayıları sunuyor mu? chuff işaret ettiği gibi

+4

Bakın: [GHC# 3353: Ekle 'CLDouble' desteği] (http://hackage.haskell.org/trac/ghc/ticket/3353) – hammar

+0

Ayrıca bkz. [** this **] (http: // hackage.haskell.org/package/numbers-3000.0.0.0) – chuff

cevap

10

, bir hackage üzerinde numbers paketi bakmak almak isteyebilirsiniz. cabal install numbers ile yükleyebilirsiniz. İşte bir örnek: documentation devletler olarak

import Data.Number.CReal -- from numbers 

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

-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727 

, showCReal ondalık Belirli sayıda tip CReal belirli bir sayıda gösteren bir dize döndürür.

+1

Herhalde yeni başlayanlarla konuştuğumu sanıyordum. ;) –

+6

En popüler işlemcilerin 80-bit kayan nokta özelliklerinden faydalanmanın bir yolu olarak, keyfi bir doğruluk aradığını sanmıyorum. – hammar

+1

Evet, _numbers_ işaretçisi için teşekkürler, kullanışlı olabilir, ama şu anda sadece 80-bit kayan nokta aritmetiği arıyorum. –

İlgili konular