123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- //
- // File: rtGetNaN.cpp
- //
- // Code generated for Simulink model 'PmsmSimUt'.
- //
- // Model version : 1.18
- // Simulink Coder version : 9.4 (R2020b) 29-Jul-2020
- // C/C++ source code generated on : Tue Aug 1 23:42:37 2023
- //
- // Target selection: ert.tlc
- // Embedded hardware selection: Intel->x86-64 (Windows64)
- // Code generation objectives: Unspecified
- // Validation result: Not run
- //
- //
- // Abstract:
- // Function to initialize non-finite, NaN
- #include "rtGetNaN.h"
- #define NumBitsPerChar 8U
- extern "C" {
- //
- // 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]
- //
|