明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1661|回复: 0

AMD k6-2 可能存在反正切函数(atan)的计算bug!

[复制链接]
发表于 2005-3-3 22:29:00 | 显示全部楼层 |阅读模式
AMD k6-2 可能存在反正切函数(atan)的计算bug,之所以强调是Bug,而非误差,因为
这种误差是一般的科学及工程运算所不允许的。
有AMD k6-2配置(或其他AMD CPU)的朋友可以用下面的VB程序检测:
//////////////////////////////////
Option Explicit Private Sub Form_Load()
Dim tmp As Double
Dim i As Integer For i = 2 To 9
tmp = Atn(i)
Debug.Print "Atn("; i; ")="; tmp
Next
For i = 2 To 9
tmp = Atn(1# / i)
Debug.Print "Atn(1/"; i; ")="; tmp
Next
End Sub
////////////////////////////////////////
结果如下的话,说明存在问题。
'Atn(2) = 1.10450485840703 准确值应为:1.1071487177940905030170654601785
'Atn(3) = 1.25168963178531 准确值应为:1.2490457723982544258299170772811
'Atn(4) = 1.3269608858051 准确值应为:1.3258176636680324650592392104285
'Atn(5) = 1.37399179476569 准确值应为:1.373400766945015860861271926445
'Atn(6) = 1.40599130001239 准确值应为:1.4056476493802697809521934019958
'Atn(7) = 1.429116256735 准确值应为:1.4288992721907326964184700745372
'Atn(8) = 1.44658693326198 准确值应为:1.4464413322481351841999668424759
'Atn(9) = 1.46024147677083 准确值应为:1.4601391056210009726721818194297
'Atn(1 / 2) = 0.466291468387864 准确值应为:0.46364760900080611621425623146121
'Atn(1 / 3) = 0.319106695009585 准确值应为:0.32175055439664219340140461435866
'Atn(1 / 4) = 0.243835440989801 准确值应为:0.24497866312686415417208248121128
'Atn(1 / 5) = 0.196804532029208 准确值应为:0.19739555984988075837004976519479
'Atn(1 / 6) = 0.164805026782504 准确值应为:0.16514867741462683827912828964394
'Atn(1 / 7) = 0.141680070059894 准确值应为:0.14189705460416392281285161710255
'Atn(1 / 8) = 0.124209393532913 准确值应为:0.12435499454676143503135484916387
'Atn(1 / 9) = 0.110554850024066 准确值应为:0.11065722117389564655913987221006
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 18:45 , Processed in 0.173035 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表