Turn off rt_roundd inserted function
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
During generating my C code I constantly get preparing to casting function. It's definition is:
static real_T rt_roundd(real_T u)
{
real_T y;
if (fabs(u) < 4.503599627370496E+15) {
if (u >= 0.5) {
y = floor(u + 0.5);
} else if (u > -0.5) {
y = 0.0;
} else {
y = ceil(u - 0.5);
}
} else {
y = u;
}
return y;
}
No matter what it does, it works horribly for my audio processing algorithm so I don't want it. How can I achieve it?
Removing it's calls works fine for my algorithm but I don't want to do it manually every time I get that code.
2 Commenti
Ryan Livingston
il 23 Lug 2013
Modificato: Stephen23
il 25 Apr 2017
When you say it works horribly, do you mean it gives unexpected answers, it seems inefficient or something else?
Risposte (1)
Ryan Livingston
il 23 Lug 2013
Modificato: Ryan Livingston
il 25 Apr 2017
You can use a Code Replacement library and define a function replacement for the round function. The library says map function foo to function bar in the generated code and math functions like ROUND are generally replaceable.
Here's a demo for using these libraries:
and general doc for creating them:
0 Commenti
Vedere anche
Categorie
Scopri di più su Code Generation and Deployment in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!