Operate on coder.Constant types for global variables in Matlab Coder

Say I want 2 global variables as -globals input to a codegen in Matlab Coder. The first is is a coder.Constant, and the second depends on the first, eg:
g1 = coder.Constant(3);
g2 = g1+1;
codegen example -globals {'g1',g1,'g2',g2}
This will give the error message "Undefined operator '+' for input arguments of type 'coder.Constant'."
Is there any way to operate on coder.Constant variables?
I know there is a very simple work around for this example, but for my code it would be a lot neater to operate directly on g1.
Alternatively:
Is it possible to extract the value in g1 as a normal data type? Eg the following:
a = double(g1);
But this returns the error message: "Conversion to double from coder.Constant is not possible."

3 个评论

Interesting idea. We've made an internal note to think about this. To your second question if you can extract the value
c = coder.Constant(1)
c =
coder.Constant
1
c.Value
ans =
1
The .Value field solves my problem entirely! Thanks a lot, Ryan!
It would still be interesting with an answer to my first question though.
Is the first question: Is there any way to operate on coder.Constant variables?
If so, then there's no direct way to operate on coder.Constant values apart from extracting the Value field. We've made a note to think about what operating on these would mean and if we could support something like that.

请先登录,再进行评论。

回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 MATLAB Coder 的更多信息

产品

版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by