AEB

Dependencies:   mbed

Committer:
clynamen
Date:
Sat Jul 30 13:58:52 2016 +0000
Revision:
3:4bb49a5dfa47
Parent:
2:5811e080f41d
m;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clynamen 2:5811e080f41d 1 /*
clynamen 2:5811e080f41d 2 * Academic License - for use in teaching, academic research, and meeting
clynamen 2:5811e080f41d 3 * course requirements at degree granting institutions only. Not for
clynamen 2:5811e080f41d 4 * government, commercial, or other organizational use.
clynamen 2:5811e080f41d 5 *
clynamen 2:5811e080f41d 6 * File: rtGetInf.c
clynamen 2:5811e080f41d 7 *
clynamen 2:5811e080f41d 8 * Code generated for Simulink model 'AEB0'.
clynamen 2:5811e080f41d 9 *
clynamen 2:5811e080f41d 10 * Model version : 1.63
clynamen 2:5811e080f41d 11 * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016
clynamen 2:5811e080f41d 12 * C/C++ source code generated on : Tue Jul 26 21:28:16 2016
clynamen 2:5811e080f41d 13 *
clynamen 2:5811e080f41d 14 * Target selection: ert.tlc
clynamen 2:5811e080f41d 15 * Embedded hardware selection: Intel->x86-64 (Windows64)
clynamen 2:5811e080f41d 16 * Code generation objectives: Unspecified
clynamen 2:5811e080f41d 17 * Validation result: Not run
clynamen 2:5811e080f41d 18 */
clynamen 2:5811e080f41d 19
clynamen 2:5811e080f41d 20 /*
clynamen 2:5811e080f41d 21 * Abstract:
clynamen 2:5811e080f41d 22 * Function to intialize non-finite, Inf
clynamen 2:5811e080f41d 23 */
clynamen 2:5811e080f41d 24 #include "rtGetInf.h"
clynamen 2:5811e080f41d 25 #define NumBitsPerChar 8U
clynamen 2:5811e080f41d 26
clynamen 2:5811e080f41d 27 /*
clynamen 2:5811e080f41d 28 * Initialize rtInf needed by the generated code.
clynamen 2:5811e080f41d 29 * Inf is initialized as non-signaling. Assumes IEEE.
clynamen 2:5811e080f41d 30 */
clynamen 2:5811e080f41d 31 real_T rtGetInf(void)
clynamen 2:5811e080f41d 32 {
clynamen 2:5811e080f41d 33 size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
clynamen 2:5811e080f41d 34 real_T inf = 0.0;
clynamen 2:5811e080f41d 35 if (bitsPerReal == 32U) {
clynamen 2:5811e080f41d 36 inf = rtGetInfF();
clynamen 2:5811e080f41d 37 } else {
clynamen 2:5811e080f41d 38 union {
clynamen 2:5811e080f41d 39 LittleEndianIEEEDouble bitVal;
clynamen 2:5811e080f41d 40 real_T fltVal;
clynamen 2:5811e080f41d 41 } tmpVal;
clynamen 2:5811e080f41d 42
clynamen 2:5811e080f41d 43 tmpVal.bitVal.words.wordH = 0x7FF00000U;
clynamen 2:5811e080f41d 44 tmpVal.bitVal.words.wordL = 0x00000000U;
clynamen 2:5811e080f41d 45 inf = tmpVal.fltVal;
clynamen 2:5811e080f41d 46 }
clynamen 2:5811e080f41d 47
clynamen 2:5811e080f41d 48 return inf;
clynamen 2:5811e080f41d 49 }
clynamen 2:5811e080f41d 50
clynamen 2:5811e080f41d 51 /*
clynamen 2:5811e080f41d 52 * Initialize rtInfF needed by the generated code.
clynamen 2:5811e080f41d 53 * Inf is initialized as non-signaling. Assumes IEEE.
clynamen 2:5811e080f41d 54 */
clynamen 2:5811e080f41d 55 real32_T rtGetInfF(void)
clynamen 2:5811e080f41d 56 {
clynamen 2:5811e080f41d 57 IEEESingle infF;
clynamen 2:5811e080f41d 58 infF.wordL.wordLuint = 0x7F800000U;
clynamen 2:5811e080f41d 59 return infF.wordL.wordLreal;
clynamen 2:5811e080f41d 60 }
clynamen 2:5811e080f41d 61
clynamen 2:5811e080f41d 62 /*
clynamen 2:5811e080f41d 63 * Initialize rtMinusInf needed by the generated code.
clynamen 2:5811e080f41d 64 * Inf is initialized as non-signaling. Assumes IEEE.
clynamen 2:5811e080f41d 65 */
clynamen 2:5811e080f41d 66 real_T rtGetMinusInf(void)
clynamen 2:5811e080f41d 67 {
clynamen 2:5811e080f41d 68 size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
clynamen 2:5811e080f41d 69 real_T minf = 0.0;
clynamen 2:5811e080f41d 70 if (bitsPerReal == 32U) {
clynamen 2:5811e080f41d 71 minf = rtGetMinusInfF();
clynamen 2:5811e080f41d 72 } else {
clynamen 2:5811e080f41d 73 union {
clynamen 2:5811e080f41d 74 LittleEndianIEEEDouble bitVal;
clynamen 2:5811e080f41d 75 real_T fltVal;
clynamen 2:5811e080f41d 76 } tmpVal;
clynamen 2:5811e080f41d 77
clynamen 2:5811e080f41d 78 tmpVal.bitVal.words.wordH = 0xFFF00000U;
clynamen 2:5811e080f41d 79 tmpVal.bitVal.words.wordL = 0x00000000U;
clynamen 2:5811e080f41d 80 minf = tmpVal.fltVal;
clynamen 2:5811e080f41d 81 }
clynamen 2:5811e080f41d 82
clynamen 2:5811e080f41d 83 return minf;
clynamen 2:5811e080f41d 84 }
clynamen 2:5811e080f41d 85
clynamen 2:5811e080f41d 86 /*
clynamen 2:5811e080f41d 87 * Initialize rtMinusInfF needed by the generated code.
clynamen 2:5811e080f41d 88 * Inf is initialized as non-signaling. Assumes IEEE.
clynamen 2:5811e080f41d 89 */
clynamen 2:5811e080f41d 90 real32_T rtGetMinusInfF(void)
clynamen 2:5811e080f41d 91 {
clynamen 2:5811e080f41d 92 IEEESingle minfF;
clynamen 2:5811e080f41d 93 minfF.wordL.wordLuint = 0xFF800000U;
clynamen 2:5811e080f41d 94 return minfF.wordL.wordLreal;
clynamen 2:5811e080f41d 95 }
clynamen 2:5811e080f41d 96
clynamen 2:5811e080f41d 97 /*
clynamen 2:5811e080f41d 98 * File trailer for generated code.
clynamen 2:5811e080f41d 99 *
clynamen 2:5811e080f41d 100 * [EOF]
clynamen 2:5811e080f41d 101 */