找回密码
 欢迎注册
查看: 6375|回复: 9

[BUG] 发现HugeCalc计算2820^2820结果错误

[复制链接]
发表于 2011-4-22 10:23:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
HugeCalc计算$2820^2820$结果是6922位,但实际是9730位的
还有2830,2850,2860等结果也是错误的

评分

参与人数 1金币 +10 贡献 +3 鲜花 +3 收起 理由
gxqcn + 10 + 3 + 3 非常感谢反馈该bug!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-4-22 11:34:30 | 显示全部楼层
经debug,问题出在最后一次平方:对尾部“0”的计算时机不对造成的,造成结果少了156*2*9=2808个尾部0。
该平方模块是一段优化算法,它是将要平方的数切分成五段后计算的,被调用到的概率不是很大,且仅仅在底数尾部连续有9个以上的0时出现错误。
经查证,该bug首次出现于 V7.0.1.0 (2007-09-10 公开发布)

非常感谢反馈该bug!看来我得加快升级版本的推出了。。。

2012-10-10 备注:
  附件是临时修整版,但对多核支持不完美,经测试,卸载时线程池无法释放(正式版无此问题)。如果您是多核用户,可编辑 Windows\HugeCalc.ini 文件中的 [UserSetCPUID] 字段,将 NumOfCores 强行设定为 1 即可,副作用时效率会有所下降。
  由于家中电脑坏了,所以 HugeCalc 的升级开发暂处于停滞状态,请大家见谅!预计等明年我配置好新机器后将继续开发,且以64位操作系统为优先,敬请期待。。。

HugeCalc.zip

290.74 KB, 下载次数: 19, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

修正了bug后的临时版本

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-4-22 11:37:00 | 显示全部楼层
呵呵,我是测试n^n过程发现这个数据比前一个的值还小,所以去网上计算了一下发现的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-4-22 11:40:44 | 显示全部楼层
还有个建议,在操作过程中因为不符合软件的输入结果时,返回的一个错误提示,而不是直接返回原值
如d=d.Div(d,a)时,结果还是原来d的值,而不是返回d/a的值
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-4-22 12:05:23 | 显示全部楼层
你可能不清楚,大数算法与普通算法的区别。
大数算法传参数一般是传递指针(或引用),很少传值的,主要是出于效率考虑。
而为了严谨性,许多入参都规定了“只读”属性,为了不破坏它,当检查发现可能会破坏到“只读”属性时就直接返回。
这对许多开发者来说是有好处的,当然对于应用者来说可能感觉多了条限制规则。
也许,在以后的版本中,我会考虑弱化该限定规则。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-4-22 12:08:04 | 显示全部楼层
我觉得要提示错误好些,否则对函数要非常熟悉才行,要不然计算结果都是错误的,还不知道原因呢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-4-24 08:47:24 | 显示全部楼层
nice job
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-30 08:04:06 | 显示全部楼层
我想有HugeCalc的算法库,能否在VB中应用呢?(完善我的高精度科学计算器用)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-30 08:28:41 | 显示全部楼层
可以在VB中调用的。
只是当前 HugeCalc 导出接口只有整型的,浮点的需要用户再包装开发。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-7-31 21:49:42 | 显示全部楼层
要想写一个没有bug的程序,真的好难呀!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-3-29 07:53 , Processed in 0.052429 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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