14

Tiêu chuẩn Haskell của Double sử dụng the standard double-precision arithmetic:Có thể sử dụng số học điểm nổi chính xác mở rộng (80-bit) trong GHC/Haskell không?

data Double số dấu chấm động Double-chính xác. Điều mong muốn là loại này ít nhất bằng nhau về phạm vi và độ chính xác đối với loại có độ chính xác kép IEEE.

GHC/Haskell cung cấp đâu đó cũng là số điểm nổi extended precision (80-bit), có thể sử dụng một số thư viện bên ngoài?

+4

Xem: [GHC# 3353: Thêm hỗ trợ 'CLDouble'] (http://hackage.haskell.org/trac/ghc/ticket/3353) – hammar

+0

Đồng thời xem [** this **] (http: // hackage.haskell.org/package/numbers-3000.0.0.0) – chuff

Trả lời

10

Như chuff đã chỉ ra, bạn có thể muốn xem gói numbers về tấn công. Bạn có thể cài đặt nó với cabal install numbers. Dưới đây là một ví dụ:

import Data.Number.CReal -- from numbers 

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

-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727 

Khi documentation tiểu bang, showCReal trả về một chuỗi cho thấy một số lượng nhất định các loại CReal với số lượng nhất định của số thập phân.

+1

Tôi đoán tôi đã giả định tôi đã nói chuyện với một người mới bắt đầu ... dù sao đi nữa. ;) –

+6

Tôi không nghĩ rằng anh ấy đang tìm kiếm độ chính xác tùy ý, chỉ là một cách để tận dụng lợi thế của các khả năng điểm nổi 80 bit của các bộ vi xử lý phổ biến nhất. – hammar

+1

Có, nhờ con trỏ đến _numbers_, nó có thể có ích, nhưng ngay bây giờ tôi đang tìm kiếm chỉ cho số học dấu chấm động 80-bit. –

Các vấn đề liên quan