How to make Embedded coder use isnan C-API than implementing custom code?

7 次查看(过去 30 天)
My Simulink model uses NaN and some places there is check of same using matlab function isnan().
When I am genertaing C-code using embedded coder, i see generated code has custom implementation of isnan function like below
/* Test if value is not a number */
boolean_T rtIsNaN(real_T value)
{
return (boolean_T)((value!=value) ? 1U : 0U);
}
How can I avoid this and allow EC to use isnan API from math.h from my toolchain. If I use above implementation, it doesnot work as expected in some of my cores which doesnt have FPU. Replacing this and Calling isnan() from math.h works fine for me.
I did web-search but couldnt find any help on this topic.

回答(2 个)

Naman Bhaia
Naman Bhaia 2019-5-24
I believe Code Replacement Customization can be the possible solution. To implement that, you could develop a code replacement library by referring to this link.

Ritesh Rajore
Ritesh Rajore 2019-5-24
编辑:Ritesh Rajore 2019-5-24
I tried this but it is not reflecting. I defined replacemnet function of rtIsNaN as isnan but I see EC is generating the code as earlier.
In my model, piece of code where nan and its validation is done is in m-file. Not sure if code replacement is applicable for m-file code.

类别

Help CenterFile Exchange 中查找有关 Kernel Creation from Simulink Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by