Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Essential Type Category of Complex Floating Types?
#1
C99 provides for complex floating point types. What is the essential type category of each?
#2
The essential types of complex floating point numbers should be considered as the essential types of their real and imaginary parts.
Code:
float _Complex f1 = 3.0f + 2.0f*_Complex_I;
In this both the real and imaginary parts will have an "essentially float" type.

The MISRA C:2012 rules for conversions/arithmetic operations etc: will then apply to these types.
e.g.
Code:
double _Complex d1 =  3.0 + 2.0*_Complex_I;
float _Complex f2  = d1;
This will violate rule 10.3 since both the real and imaginary parts are assigned to a narrower essential type.
Posted by and on behalf of the MISRA C Working Group
#3
MISRA C:2012 Amendment 3 added guidance for _Complex types... this has been consolidated into MISRA C:2023
Posted by and on behalf of the MISRA C Working Group


Forum Jump:


Users browsing this thread: 1 Guest(s)