首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在x86上三角指令的误差是什么?

在x86上三角指令的误差是什么?
EN

Stack Overflow用户
提问于 2014-02-20 13:15:17
回答 2查看 1.1K关注 0票数 4

在x86处理器,fsincos上,在什么地方可以找到三角函数指令的误差范围信息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-20 14:05:23

你所问的很少是一个有趣的问题,而且很可能你真的想知道一些不同的事情。所以让我先回答不同的问题:

如何计算三角函数以达到一定的精度?

只需使用更长的数据类型。有了x86,如果你需要双精度的结果,做一个80位扩展的双重计算,你是安全的一面。

如何获得平台无关的精度?

为此您需要一个专门的软件解决方案,比如MPFR

话虽如此,让我回到你最初的问题。简短的回答:对于小操作数,通常应该在1 ulp之内。对于较大的操作数,情况越来越糟。唯一确定的方法是自己测试,比如这家伙做了。没有来自处理器供应商的可靠信息。

票数 7
EN

Stack Overflow用户

发布于 2014-02-20 14:01:58

您可以阅读Intel 64和IA-32建筑开发商手册:第1卷关于超验指令准确性的8.3.10节。有一个精确的公式,但也有更容易理解的语句。

对于奔腾处理器和后来的IA-32处理器,当舍入最近(偶数)时,先验函数的最坏情况误差小于1 ulp,在其他模式下舍入时小于1.5 ulp。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21908949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档