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