File: C:\Users\SLUG\Documents\MATLAB\SLUG_Autopilot\Stable\controlMCUSlugsMKII_dspic\sources\rt_nonfinite.c1 /* 2 * File: rt_nonfinite.c 3 * 4 * Real-Time Workshop code generated for Simulink model controlMCUSlugsMKII. 5 * 6 * Model version : 1.714 7 * Real-Time Workshop file version : 7.5 (R2010a) 25-Jan-2010 8 * Real-Time Workshop file generated on : Tue Nov 23 13:12:51 2010 9 * TLC version : 7.5 (Jan 19 2010) 10 * C source code generated on : Tue Nov 23 13:12:52 2010 11 *-------------------------------------------------------------- 12 * Embedded Coder for Microchip dsPIC family. | 13 * Generate .c and .h files from your Matlab/simulink model | 14 * and compile the diagram to .hex and .coff file that can be | 15 * downloaded directly into the microcontroller | 16 * | 17 * Licence Accorded to Blake Mills | 18 * University of Colorado-Boulder | 19 * | 20 * Written by Lubin KERHUEL - http://www.kerhuel.eu | 21 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 22 * Version 3.3a 22-Nov-2010 | 23 * For Matlab 7.10 R2010a | 24 *-------------------------------------------------------------- 25 */ 26 27 /* 28 * Abstract: 29 * Real-Time Workshop function to intialize non-finites, 30 * (Inf, NaN and -Inf). 31 */ 32 #include "rt_nonfinite.h" 33 #include "rtGetNaN.h" 34 #include "rtGetInf.h" 35 36 real_T rtInf; 37 real_T rtMinusInf; 38 real_T rtNaN; 39 real32_T rtInfF; 40 real32_T rtMinusInfF; 41 real32_T rtNaNF; 42 43 /* 44 * Initialize the rtInf, rtMinusInf, and rtNaN needed by the 45 * generated code. NaN is initialized as non-signaling. Assumes IEEE. 46 */ 47 void rt_InitInfAndNaN(size_t realSize) 48 { 49 (void) (realSize); 50 rtNaN = rtGetNaN(); 51 rtNaNF = rtGetNaNF(); 52 rtInf = rtGetInf(); 53 rtInfF = rtGetInfF(); 54 rtMinusInf = rtGetMinusInf(); 55 rtMinusInfF = rtGetMinusInfF(); 56 } 57 58 /* Test if value is infinite */ 59 boolean_T rtIsInf(real_T value) 60 { 61 return (boolean_T)((value==rtInf || value==rtMinusInf) ? 1U : 0U); 62 } 63 64 /* Test if single-precision value is infinite */ 65 boolean_T rtIsInfF(real32_T value) 66 { 67 return (boolean_T)(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); 68 } 69 70 /* Test if value is not a number */ 71 boolean_T rtIsNaN(real_T value) 72 { 73 return (boolean_T)((value!=value) ? 1U : 0U); 74 } 75 76 /* Test if single-precision value is not a number */ 77 boolean_T rtIsNaNF(real32_T value) 78 { 79 return (boolean_T)(((value!=value) ? 1U : 0U)); 80 } 81 82 /* File trailer for Real-Time Workshop generated code. 83 * 84 * [EOF] 85 */ 86 |