1 /*
2 * rt_nonfinite.c
3 *
4 * Code generation for function 'myFunc'
5 *
6 * C source code generated on: Thu Mar 29 12:55:13 2012
7 *
8 */
9
10 /*
11 * Abstract:
12 * MATLAB for code generation function to initialize non-finites,
13 * (Inf, NaN and -Inf).
14 */
15 #include "rt_nonfinite.h"
16 #include "rtGetNaN.h"
17 #include "rtGetInf.h"
18
19 real_T rtInf;
20 real_T rtMinusInf;
21 real_T rtNaN;
22 real32_T rtInfF;
23 real32_T rtMinusInfF;
24 real32_T rtNaNF;
25
26 /* Function: rt_InitInfAndNaN ==================================================
27 * Abstract:
28 * Initialize the rtInf, rtMinusInf, and rtNaN needed by the
29 * generated code. NaN is initialized as non-signaling. Assumes IEEE.
30 */
31 void rt_InitInfAndNaN(size_t realSize)
32 {
33 (void) (realSize);
34 rtNaN = rtGetNaN();
35 rtNaNF = rtGetNaNF();
36 rtInf = rtGetInf();
37 rtInfF = rtGetInfF();
38 rtMinusInf = rtGetMinusInf();
39 rtMinusInfF = rtGetMinusInfF();
40 }
41
42 /* Function: rtIsInf ==================================================
43 * Abstract:
44 * Test if value is infinite
45 */
46 boolean_T rtIsInf(real_T value)
47 {
48 return ((value==rtInf || value==rtMinusInf) ? 1U : 0U);
49 }
50
51 /* Function: rtIsInfF =================================================
52 * Abstract:
53 * Test if single-precision value is infinite
54 */
55 boolean_T rtIsInfF(real32_T value)
56 {
57 return(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U);
58 }
59
60 /* Function: rtIsNaN ==================================================
61 * Abstract:
62 * Test if value is not a number
63 */
64 boolean_T rtIsNaN(real_T value)
65 {
66 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
67 return _isnan(value)? TRUE:FALSE;
68 #else
69 return (value!=value)? 1U:0U;
70 #endif
71 }
72
73 /* Function: rtIsNaNF =================================================
74 * Abstract:
75 * Test if single-precision value is not a number
76 */
77 boolean_T rtIsNaNF(real32_T value)
78 {
79 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
80 return _isnan((real_T)value)? true:false;
81 #else
82 return (value!=value)? 1U:0U;
83 #endif
84 }
85
86
87 /* End of code generation (rt_nonfinite.c) */
88
|