Prevent code generator from creating function specializations for constant-size expressions
coder.ignoreSize(
declares that the
code generator must not use the constant size of an expression to create function
specializations.expression
)
If your MATLAB® code calls a function multiple times and passes inputs of different sizes, the
code generator can create function specializations for each size. To avoid this issue, use
coder.ignoreSize
on the function input. For example, this code uses
coder.ignoreSize
to avoid creating multiple copies of the function
indexOf
:
function [out1, out2] = test1(in) a = 1:10; b = 2:40; % Without coder.ignoreSize duplicate functions are generated out1 = indexOf(coder.ignoreSize(a), in); out2 = indexOf(coder.ignoreSize(b), in); end function index = indexOf(array, value) coder.inline('never'); for i = 1:numel(array) if array(i) == value index = i; return end end index = -1; return end
To generate code, enter:
codegen test1 -config:lib -report -args {1}
If you assign an expression to a variable and declare the variable as variable-size by
using coder.varsize
, this declaration has the same
effect as using coder.ignoreSize
on the expression.