File: rt_nonfinite.c1 /* 2 * File: rt_nonfinite.c 3 * 4 * Code generated for Simulink model 'bh_f14'. 5 * 6 * Model version : 1.18 7 * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016 8 * C/C++ source code generated on : Wed Jun 22 07:56:08 2016 9 * 10 * Target selection: ert.tlc 11 * Embedded hardware selection: 32-bit Generic 12 * Code generation objectives: Unspecified 13 * Validation result: Not run 14 */ 15 16 /* 17 * Abstract: 18 * Function to intialize non-finites, 19 * (Inf, NaN and -Inf). 20 */ 21 #include "rt_nonfinite.h" 22 #include "rtGetNaN.h" 23 #include "rtGetInf.h" 24 25 real_T rtInf; 26 real_T rtMinusInf; 27 real_T rtNaN; 28 real32_T rtInfF; 29 real32_T rtMinusInfF; 30 real32_T rtNaNF; 31 32 /* 33 * Initialize the rtInf, rtMinusInf, and rtNaN needed by the 34 * generated code. NaN is initialized as non-signaling. Assumes IEEE. 35 */ 36 void rt_InitInfAndNaN(size_t realSize) 37 { 38 (void) (realSize); 39 rtNaN = rtGetNaN(); 40 rtNaNF = rtGetNaNF(); 41 rtInf = rtGetInf(); 42 rtInfF = rtGetInfF(); 43 rtMinusInf = rtGetMinusInf(); 44 rtMinusInfF = rtGetMinusInfF(); 45 } 46 47 /* Test if value is infinite */ 48 boolean_T rtIsInf(real_T value) 49 { 50 return (boolean_T)((value==rtInf || value==rtMinusInf) ? 1U : 0U); 51 } 52 53 /* Test if single-precision value is infinite */ 54 boolean_T rtIsInfF(real32_T value) 55 { 56 return (boolean_T)(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); 57 } 58 59 /* Test if value is not a number */ 60 boolean_T rtIsNaN(real_T value) 61 { 62 return (boolean_T)((value!=value) ? 1U : 0U); 63 } 64 65 /* Test if single-precision value is not a number */ 66 boolean_T rtIsNaNF(real32_T value) 67 { 68 return (boolean_T)(((value!=value) ? 1U : 0U)); 69 } 70 71 /* 72 * File trailer for generated code. 73 * 74 * [EOF] 75 */ 76 |