【发布时间】:2013-06-01 23:23:13
【问题描述】:
我知道 Haskell 有本地数据类型,它允许你拥有非常大的整数,所以像
>> let x = 131242358045284502395482305
>> x
131242358045284502395482305
按预期工作。我想知道是否可以使用类似的“大精度浮点”本机结构,所以像
>> let x = 5.0000000000000000000000001
>> x
5.0000000000000000000000001
有可能。如果我在 Haskell 中输入它,如果超过 15 位小数(双精度),它会截断为 5。
【问题讨论】:
-
好吧,
Data.Ratio中总是有Rational用于任意精度分数。但一般来说,答案取决于您需要它支持哪些操作。 -
我想
Rational不适合您的目的,即您需要Floating实例? -
为了尽可能高的精度:haskell.org/haskellwiki/Exact_real_arithmetic(AERN 实施已经有一段时间没有工作了......我不知道现在是否还有其他候选人)