Files
sil/SIL/work/slprj/ert_shrlib/_sharedutils/rtGetNaN.c
T

59 lines
1.1 KiB
C
Raw Normal View History

2020-09-30 11:44:05 +08:00
/*
* File: rtGetNaN.c
*
* Code generated for Simulink model 'SIL'.
*
2020-10-22 10:50:04 +08:00
* Model version : 1.470
2020-09-30 11:44:05 +08:00
* Simulink Coder version : 9.0 (R2018b) 24-May-2018
2020-10-22 10:50:04 +08:00
* C/C++ source code generated on : Thu Oct 22 10:25:15 2020
2020-09-30 11:44:05 +08:00
*/
/*
* Abstract:
* Function to initialize non-finite, NaN
*/
#include "rtGetNaN.h"
#define NumBitsPerChar 8U
/*
* Initialize rtNaN needed by the generated code.
* NaN is initialized as non-signaling. Assumes IEEE.
*/
real_T rtGetNaN(void)
{
size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
real_T nan = 0.0;
if (bitsPerReal == 32U) {
nan = rtGetNaNF();
} else {
union {
LittleEndianIEEEDouble bitVal;
real_T fltVal;
} tmpVal;
tmpVal.bitVal.words.wordH = 0xFFF80000U;
tmpVal.bitVal.words.wordL = 0x00000000U;
nan = tmpVal.fltVal;
}
return nan;
}
/*
* Initialize rtNaNF needed by the generated code.
* NaN is initialized as non-signaling. Assumes IEEE.
*/
real32_T rtGetNaNF(void)
{
IEEESingle nanF = { { 0 } };
nanF.wordL.wordLuint = 0xFFC00000U;
return nanF.wordL.wordLreal;
}
/*
* File trailer for generated code.
*
* [EOF]
*/