ggk*_*ath 1 javascript actionscript-3
ActionScript3声明如下:
注意:数学函数acos,asin,atan,atan2,cos,exp,log,pow,sin和sqrt可能会导致略有不同的值,具体取决于CPU或操作系统使用的算法.Flash运行时调用CPU上所列出的功能执行计算时(或操作系统如果CPU不支持浮点计算),并且结果显示,这取决于所使用的CPU或操作系统的轻微变化.
我的Web应用程序适用于非常大和小的数字,我怀疑可能会看到差异取决于运行它的机器(特别是对于其处理器不如台式机那样强大的移动设备).我的问题是,这种行为是语言的一种功能吗?
也就是说,我认为有些语言实现他们自己的算法,为实现上述功能,因此可能会更加一致(除了通过将存在于所有语言处理器/ CPU的选择上引入舍入误差的差异).
任何人都知道Javascript是否拥有自己的算法,还是将它们外包给像ActionScript这样的CPU /处理器?
摘自ECMAScript 5标准,第15.8.2节
注:该功能ACOS的行为,ASIN,ATAN,ATAN2,COS,EXP,日志,战俘,罪恶,开方,棕褐色不正是这里只是其中要求对代表的利益边界情况某些参数值的具体结果.对于其他参数值,这些功能的目的是计算近似的熟悉的数学函数的结果,但有些纬度允许的近似算法的选择.一般意图是实现者应该能够在给定硬件平台上使用相同的ECMAScript数学库,该平台上的C程序员可以使用.
虽然算法的选择留给实现,建议(但不是以本标准规定),其实现使用包含在fdlibm的IEEE 754算法的近似算法,Sun Microsystems的自由发布的数学库(HTTP:// WWW .netlib.org/fdlibm)
从本质上讲,这意味着每个实现(包括每个浏览器)都可以决定他们想要如何处理这些功能.按照建议,我假设绝大多数人使用fdlibm虽然检查将留给读者作为练习.
| 归档时间: | 
 | 
| 查看次数: | 151 次 | 
| 最近记录: |