方法检测溢出定点转换器在转换过程的数值测试阶段,你选择使用比例加倍来模拟定点代码。然后,应用程序报告生成的代码中哪些表达式产生了溢出定点数据类型的值。
本示例需要以下产品:下载188bet金宝搏
MATLAB®
定点设计师™
C编译器
看到金宝app支持编译器.
您可以使用墨西哥人设置
更改默认编译器。看到改变默认的编译器.
创建一个本地工作文件夹,例如:c: \溢出
.
改变docroot \工具箱\ fixpoint \例子
文件夹中。在MATLAB命令行中,输入:
Cd (fullfile(docroot, 'toolbox', 'fixpoint', 'examples'))
复制overflow.m
和overflow_test.m
文件到您的本地工作文件夹。
最佳实践是创建一个单独的测试脚本来进行预处理和后处理,例如:
加载输入。
设置输入值。
输出测试结果。
有关更多信息,请参见创建测试文件.
类型 | 的名字 | 描述 |
---|---|---|
函数代码 | overflow.m |
MATLAB函数入口点 |
测试文件 | overflow_test.m |
测试的MATLAB脚本overflow.m |
导航到包含此示例文件的工作文件夹。
基于MATLAB的Toolstrip应用程序选项卡,在代码生成,单击应用程序图标。
添加入口点函数溢出
到项目,浏览到文件overflow.m
,然后单击开放.默认情况下,应用程序将该项目的信息和设置保存在当前文件夹中名为overflow.prj
.
点击下一个去…定义输入类型的一步。
应用程序屏幕overflow.m
代码违规和定点转换准备就绪问题。该应用程序没有发现问题overflow.m
.
在定义输入类型页面,添加overflow_test
作为一个测试文件,浏览到overflow_test.m
,然后单击开放.
点击Autodefine输入类型.
测试文件运行。应用程序从测试文件中确定输入类型b
是双(1 x12)
,x
是双(256 x1)
,重置
是逻辑(1 x1)
.
点击下一个去…转换为定点的一步。
该应用程序生成一个仪表MEX函数为您的入口点MATLAB函数。该应用程序显示编译的信息-类型,大小和复杂性-变量在你的代码。有关更多信息,请参见查看和修改变量信息.
在函数替换标签应用程序显示不支持定点转换的功能。金宝app看到运行一个仿真.
要查看fimath设置,请单击设置箭头.设置fimath产品模式和和模式来KeepLSB
.这些设置为C语言中整数操作的行为建模。
点击分析.
测试文件,overflow_test
,运行。该应用程序显示模拟最小和最大范围变量选项卡。使用模拟范围数据,软件根据默认类型建议设置为每个变量提出定点类型,并将它们显示在建议类型列。
单击,将浮点算法转换为定点算法转换.
该软件验证了提出的类型,并生成入口点函数的定点版本。
如果在验证过程中出现错误和警告,应用程序将它们显示在输出选项卡。看到验证类型.
单击测试箭头.验证测试文件是overflow_test.m
.选择使用缩放双精度来检测溢出,然后单击测试.
该应用程序运行用于定义输入类型的测试文件,以测试定点MATLAB代码。因为您选择了检测溢出,所以它还使用建议的定点类型的缩放双版本运行模拟。按比例缩放的双精度存储它们的数据为双精度浮点数,因此它们执行全范围的算术运算。因为它们保留了固定点设置,所以当计算超出固定点类型的范围时,它们可以进行报告。
模拟运行。该应用程序检测到溢出。应用程序报告溢位溢出选项卡。若要突出显示溢出的表达式,请单击溢出。
确定溢出的是累加还是乘法。
在fimath设置,设置产品模式来FullPrecision
,然后重复转换并再次测试定点代码。
溢出仍然会发生,这表明是表达式中的加法溢出。