Page 32 - 《软件学报》2020年第12期
P. 32
3698 Journal of Software 软件学报 Vol.31, No.12, December 2020
Fig.2 ISReal’s interface for computing u 30 of Eq.(1)
图 2 ISReal 计算迭代式(1)的 u 30 时的运行环境
对于上述几个案例来说,均预先知道极限值,因此通过 DecimalPlaces 可以对需要计算的小数位数进行一次
性设置.若预先不清楚极限值,那么可以通过增大 DecimalPlaces 的值来获得极限值.
5 结束语
本文给出了一个通用的算法,利用它可以解决一些用其他方法解决不了的循环迭代难题.对于 Kahan 提出
[3]
的问题:“How can distress caused by roundoff be diagnosed reliably? How can it be cured?” ,显然,本文的算法是
解决方案之一.通过与本算法(或软件)的计算结果的比较,程序员可以了解或验证其循环迭代程序运行结果的
正确与否.
致谢 感谢与日本新潟大学刘学峰博士的讨论.
References:
[1] Muller JM. Arithmétique des Ordinateurs. Paris: Masson, 1989 (in French).
[2] Muller JM, Brisebarre N, Dinechin FD, et al. Handbook of Floating-point Arithmetic. Boston: Birkhauser Boston, 2010. 8−10.
[3] Kahan W. How futile are mindless assessments of roundoff in floating-point computation? 2006. http://www.cs.berkeley.edu/~
wkahan/Mindless.pdf
[4] Benz F, Hildebrandt A, Hack S. A Dynamic program analysis to find floating-point accuracy problems. In: Proc. of the 2012 ACM
SIGPLAN Conf. on Programming Language Design and Implementation. 2012. 453−462.
[5] Zhao SZ. Reasons of miscalculation in floating point arithmetic. Sciencepaper Online. 2017 (in Chinese with English abstract).
http://www.paper.edu.cn/releasepaper/content/201707-86
[6] Zhao SZ. CuoShu of six binary basic elementary operations and functions. Sciencepaper Online. 2019. (in Chinese with English
abstract) http://www.paper.edu.cn/releasepaper/content/201910-3
[7] Zhao SZ. A reliable computing algorithm and its software ISReal for arithmetic expressions. Scientia Sinica Informationis, 2016,
46(6):698−713 (in Chinese with English abstract).
[8] Zhao SZ, Liu XF, Song F. Error-Controlled computation of expressions. In: Proc. of the 18th Int’l Symp. on Scientific Computing,
Computer Arithmetic, and Verified Numerical Computations. 2018. 172−173.
附中文参考文献:
[5] 赵世忠.浮点运算错误计算原因.中国科技论文在线.2017. http://www.paper.edu.cn/releasepaper/content/201707-86