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
|