Next: , Previous: Complex, Up: C Extensions


5.10 Additional Floating Types

As an extension, the GNU C compiler supports additional floating types, __float80 and __float128 to support 80bit (XFmode) and 128 bit (TFmode) floating types. Support for additional types includes the arithmetic operators: add, subtract, multiply, divide; unary arithmetic operators; relational operators; equality operators; and conversions to and from integer and other floating types. Use a suffix `w' or `W' in a literal constant of type __float80 and `q' or `Q' for _float128. You can declare complex types using the corresponding internal complex type, XCmode for __float80 type and TCmode for __float128 type:

     typedef _Complex float __attribute__((mode(TC))) _Complex128;
     typedef _Complex float __attribute__((mode(XC))) _Complex80;

Not all targets support additional floating point types. __float80 is supported on i386, x86_64 and ia64 targets and target __float128 is supported on x86_64 and ia64 targets.