diff options
author | px4dev <px4@purgatory.org> | 2013-04-26 11:27:26 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-04-26 11:27:26 -0700 |
commit | 3acdc9d4ce3d83af6bb7f953e466620be690658e (patch) | |
tree | c1c792b44f7454ce36a288034179764ebc355daa /apps/position_estimator_mc/codegen/rt_nonfinite.c | |
parent | 8224adf52a126105c72e41db2ba35b1aaed3e301 (diff) | |
parent | 556a017444b809c18e2ce495a2fd00380960e0f4 (diff) | |
download | px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.tar.gz px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.tar.bz2 px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.zip |
Merge branch 'master' into export-build
Diffstat (limited to 'apps/position_estimator_mc/codegen/rt_nonfinite.c')
-rwxr-xr-x | apps/position_estimator_mc/codegen/rt_nonfinite.c | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/apps/position_estimator_mc/codegen/rt_nonfinite.c b/apps/position_estimator_mc/codegen/rt_nonfinite.c new file mode 100755 index 000000000..de121c4a0 --- /dev/null +++ b/apps/position_estimator_mc/codegen/rt_nonfinite.c @@ -0,0 +1,87 @@ +/* + * rt_nonfinite.c + * + * Code generation for function 'kalman_dlqe2' + * + * C source code generated on: Thu Feb 14 12:52:29 2013 + * + */ + +/* + * Abstract: + * MATLAB for code generation function to initialize non-finites, + * (Inf, NaN and -Inf). + */ +#include "rt_nonfinite.h" +#include "rtGetNaN.h" +#include "rtGetInf.h" + +real_T rtInf; +real_T rtMinusInf; +real_T rtNaN; +real32_T rtInfF; +real32_T rtMinusInfF; +real32_T rtNaNF; + +/* Function: rt_InitInfAndNaN ================================================== + * Abstract: + * Initialize the rtInf, rtMinusInf, and rtNaN needed by the + * generated code. NaN is initialized as non-signaling. Assumes IEEE. + */ +void rt_InitInfAndNaN(size_t realSize) +{ + (void) (realSize); + rtNaN = rtGetNaN(); + rtNaNF = rtGetNaNF(); + rtInf = rtGetInf(); + rtInfF = rtGetInfF(); + rtMinusInf = rtGetMinusInf(); + rtMinusInfF = rtGetMinusInfF(); +} + +/* Function: rtIsInf ================================================== + * Abstract: + * Test if value is infinite + */ +boolean_T rtIsInf(real_T value) +{ + return ((value==rtInf || value==rtMinusInf) ? 1U : 0U); +} + +/* Function: rtIsInfF ================================================= + * Abstract: + * Test if single-precision value is infinite + */ +boolean_T rtIsInfF(real32_T value) +{ + return(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); +} + +/* Function: rtIsNaN ================================================== + * Abstract: + * Test if value is not a number + */ +boolean_T rtIsNaN(real_T value) +{ +#if defined(_MSC_VER) && (_MSC_VER <= 1200) + return _isnan(value)? TRUE:FALSE; +#else + return (value!=value)? 1U:0U; +#endif +} + +/* Function: rtIsNaNF ================================================= + * Abstract: + * Test if single-precision value is not a number + */ +boolean_T rtIsNaNF(real32_T value) +{ +#if defined(_MSC_VER) && (_MSC_VER <= 1200) + return _isnan((real_T)value)? true:false; +#else + return (value!=value)? 1U:0U; +#endif +} + + +/* End of code generation (rt_nonfinite.c) */ |