【问题标题】:what languages get IEEE 754 right?哪些语言可以正确获得 IEEE 754?
【发布时间】:2009-04-04 01:47:39
【问题描述】:

我只是花了一周的时间来处理这个主题,发现没有语言可以正确地满足 IEEE 754 规范。

即使 GCC 也不尊重相关的 C99 部分(它忽略了 FENV_ACCESS 杂注,有人告诉我,我的工作示例纯属运气)。

使用库函数遵守规范是不可能的 (AFAIK),您需要语言的支持,因为在使用标志或舍入时禁止一些常见的优化。

所以这是我真正的问题:是否有语言(来自 C/C++ 或原始程序集)可以让我访问舍入模式、异常标志和微积分?

【问题讨论】:

  • 你是指语言还是语言实现?我假设您希望能够测试和更改任何可以更改的内容(例如舍入模式),而不仅仅是一个模型中的 IEEE 754 合规性。

标签: ieee-754


【解决方案1】:

既然您在谈论 IEEE 754 的“硬”部分,我猜您最好的选择是使用 Fortran。根据维基百科文章 Fortran 2003 至少支持浮点异常处理。

【讨论】:

    【解决方案2】:

    AFAIK,即使是 FPU 硬件单元也没有完全实现完整的 IEEE-754 规范。因此,根据您的需要,您可能会不走运。也许这就是为什么没有语言能完全正确的原因。

    【讨论】:

    • 为此创建了软件陷阱:您可以调用软件来完成 FPU 无​​法完成的工作。我认为这就是次常态的产生方式。
    • @nraynaud on x86 subnormals 在硬件中处理,其他架构主要在软件中处理它们
    【解决方案3】:

    我看起来像 Factor 做的,并且链接声称 D 也是 SBCL。

    【讨论】:

      猜你喜欢
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-09
      相关资源
      最近更新 更多