表达式折叠成常量在生成的代码
(
评估多输出函数处理着干活,…,outN
)= coder.const (处理
,__arg1、…, argN
)处理
。然后替换着干活,…,outN
与评估的结果生成的代码。
在可能的情况下,自动代码生成器constant-folds表达式。通常,自动常数合并发生与标量表达式。使用coder.const
当代码生成器不constant-fold表达式。
当常数合并计算密集型函数调用,减少代码生成时间,使函数调用外在。的非本征函数调用会导致评价函数调用MATLAB的代码生成器。例如:
函数j = fcn (z) zTable = coder.const (0:0.01:100);jTable = coder.const(函数宏指令(“besselj”3 zTable));j = interp1 (zTable, jTable, z);结束
如果coder.const
无法constant-fold函数调用,试图迫使常数合并通过函数调用外在。的非本征函数调用会导致评价函数调用MATLAB的代码生成器。例如:
函数易= fcn (xi) y = coder.const(函数宏指令(“兰德”,1100));易= interp1 (y, xi);结束