站内搜索: 

关于我们

《数学大世界》杂志简介 简介信息: 《数学大世界》是经国家新闻出版总署批准,创刊于1994年。为了进一步深化新课程改革,促进学术交流、促进数学专业教育人才的快速成长,《数学大世界》杂志社将隆重推出以面向大、中、小学教师和教科研人员为主要读者对象的教学辅导刊物,为广大数学爱好者提供一个相互促进、共同探究的交流平台。 《数学大世界》为月刊,国内刊号...>>更多

2021年8月刊

您的位置:首页 > 2021年8月刊

一个浮点数学函数库
信息来源:《数学大世界》杂志社官方网站 发表时间: 2021/9/24 阅读数:222

一个浮点数学函数库

1测试平台框架

本文研究的数学函数库测试平台的功能模块框图如图1所示.

该测试平台由待测函数集、测试程序生成模块、函数特征库、测试程序模板库、测试数据收集与分析模块和测试结果存储显示模块组成,主要模块功能如下:

1)测试程序生成模块:结合测试程序模板库及函数特征库中的函数信息自动生成测试程序.该模块以待测函数集中的函数名称为基准,在函数特征库和测试程序模板库中分别查找相应的函数接口和测试程序模板,并生成相应的测试程序;

2)测试数据收集与分析模块:统计测试程序生成的测试数据,根据测试内容,分别采用雷达图对精度测试结果、4D检测法对性能测试结果进行分析;

3)测试结果存储显示模块:对分析结果进行再整理,以易千观察和理解的方式呈现给程序员.

其中,函数特征库中的函数信息包括简单的显性特征,如函数输入/输出参数个数、参数类型、函数定义域,同时也包括相对复杂的隐性特征,如函数分支判断点、计算拐点、计算极值点、函数周期、关键路径区间.其中,函数分支判断点和关键路径区间的确定尤为困难,同时也是函数特征值中比较重要的部分对函数代码进行静态控制流程图分析,是获取路径执行特点的有效方式,控制流程图能够清晰地描述出函数的分支判断条件、路径数目、每条路径的进入参数范围等特点.根据大量的数据测试以及对函数算法及执行指令的分析,可获取程序的关键路径,这方面也有很多研究,如王潞潞提出的全路径剖析方法[44)等.

测试流程如下:

(1)准备阶段:完成测试集和测试程序的生成.从数学函数库中选择待测函数,并从函数特征库中提取相应的函数特征,结合测试程序模板库及测试程序生成模块自动生成测试程序.与此同时,利用数据集生成方法生成测试数据集;

(2)测试阶段:完成对基准函数库和被测函数库中函数的测试;

(3)分析阶段收集基准函数库和被测函数库测试程序生成的测试数据,利用测试结果分析模块进行测试结果分析

在测试平台研究过程中,需要重点考虑几个问题:在测试数据集的生成方面,如何保证测试集的有效性(测试集中浮点数的覆盖率问题)?在精度测试方面,如何保证测试的可靠性(测试方法的选择问题)?在性能测试方面,如何保证测试的准确性及稳定性(测试过程中外部环境的干扰问题)?针对大量的浮点测试结果,采用何种分析方法更为合理,更直观?上述问题所对应的解决方案的好坏将直接影响函数测试结果的正确与否为了有效解决上述问题,本文将从测试集的生成、测试方法的实现和测试结果的评价3个方面进行研究.

2测试数据集

测试数据集是浮点测试的核心,测试数据集的合理性往往直接影响到测试的效果,甚至是测试正确性(42],是函数正确性测试的基础现有方法能够生成多种多样的测试数据集,但都无法直接满足数学库函数的测试本文针对数学函数库函数分支多且分支判断点难以获取的特点,设计实现了由IEEE-754特殊数、函数特征值及IEEE-754规范数这3部分组成的浮点数据测试集.

IEEE-754特殊数(包括非数(QnaN,SNaN)、无穷数(Inf)和弱规范数(subnormal))的测试能够很好地反映函数的健壮性和对异常数的处理能力函数特征值(既包括简单的显性特征,如参数类型、函数定义域等,也包括相对复杂的隐性特征,如函数分支判断点、计算拐点、计算极值点、函数周期、关键路径区间等)的测试能够很好地反映函数的相关特性和极端状态下的运算状态,通常可以由静态或动态程序分析[43]获得.两者都是测试数据集的重要组成部分,同时,其生成方法也比较成熟,能够有效满足数学函数库的测试,本文不作详述关千数据集中浮点数的覆盖率问题,理论上存在好的方法可以解决,如穷尽浮点域中的所有浮点数或分析获得全面的包含分支判断点的函数特征值,但这些方法只适千理论分析,在现实中难以实现.对千第1种方法,首先无法在现实中穷尽所有的浮点数,其次就算只关注机器可表示的浮点数,对千双精度形式也存在z64个有限数,在实际应用中也难以实现;对于第2种方法,对于由汇编语言实现的高性能数学函数库而言,函数特征值中的分支判断点难以获取.再者,每一个函数的实现算法、语言、运行所在的体系结构等因素的变化都可能导致分支判断点的变化,即使分析获得分支判断点,也不具有普遍的适用性.

360 百度 中国知网 全网目录