1 | /* |
2 | * File: rt_nonfinite.c |
3 | * |
4 | * Code generated for Simulink model 'sensorsharp'. |
5 | * |
6 | * Model version : 1.47 |
7 | * Simulink Coder version : 8.12 (R2017a) 16-Feb-2017 |
8 | * C/C++ source code generated on : Tue Jun 18 18:54:30 2019 |
9 | * |
10 | * Target selection: ert.tlc |
11 | * Embedded hardware selection: Atmel->AVR |
12 | * Code generation objectives: Unspecified |
13 | * Validation result: Not run |
14 | */ |
15 | |
16 | /* |
17 | * Abstract: |
18 | * Function to initialize 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 |