File: C:\Users\SLUG\Documents\MATLAB\SLUG_Autopilot\Stable\controlMCUSlugsMKII_dspic\sources\rt_nonfinite.c

    1   /*
    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