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

질문:

2019년 5월 9일

댓글:

2019년 5월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by