Home | History | Annotate | Download | only in include
      1 /* Copyright (C) 2007-2014 Free Software Foundation, Inc.
      2 
      3 This file is part of GCC.
      4 
      5 GCC is free software; you can redistribute it and/or modify
      6 it under the terms of the GNU General Public License as published by
      7 the Free Software Foundation; either version 3, or (at your option)
      8 any later version.
      9 
     10 GCC is distributed in the hope that it will be useful,
     11 but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 GNU General Public License for more details.
     14 
     15 Under Section 7 of GPL version 3, you are granted additional
     16 permissions described in the GCC Runtime Library Exception, version
     17 3.1, as published by the Free Software Foundation.
     18 
     19 You should have received a copy of the GNU General Public License and
     20 a copy of the GCC Runtime Library Exception along with this program;
     21 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     22 <http://www.gnu.org/licenses/>.  */
     23 
     24 /* ISO/IEC JTC1 SC22 WG14 N1169
     25  * Date: 2006-04-04
     26  * ISO/IEC TR 18037
     27  * Programming languages - C - Extensions to support embedded processors
     28  */
     29 
     30 #ifndef _STDFIX_H
     31 #define _STDFIX_H
     32 
     33 /* 7.18a.1 Introduction.  */
     34 
     35 #undef fract
     36 #undef accum
     37 #undef sat
     38 #define fract		_Fract
     39 #define accum		_Accum
     40 #define sat		_Sat
     41 
     42 /* 7.18a.3 Precision macros.  */
     43 
     44 #undef SFRACT_FBIT
     45 #undef SFRACT_MIN
     46 #undef SFRACT_MAX
     47 #undef SFRACT_EPSILON
     48 #define SFRACT_FBIT	__SFRACT_FBIT__
     49 #define SFRACT_MIN	__SFRACT_MIN__
     50 #define SFRACT_MAX	__SFRACT_MAX__
     51 #define SFRACT_EPSILON	__SFRACT_EPSILON__
     52 
     53 #undef USFRACT_FBIT
     54 #undef USFRACT_MIN
     55 #undef USFRACT_MAX
     56 #undef USFRACT_EPSILON
     57 #define USFRACT_FBIT	__USFRACT_FBIT__
     58 #define USFRACT_MIN	__USFRACT_MIN__		/* GCC extension.  */
     59 #define USFRACT_MAX	__USFRACT_MAX__
     60 #define USFRACT_EPSILON	__USFRACT_EPSILON__
     61 
     62 #undef FRACT_FBIT
     63 #undef FRACT_MIN
     64 #undef FRACT_MAX
     65 #undef FRACT_EPSILON
     66 #define FRACT_FBIT	__FRACT_FBIT__
     67 #define FRACT_MIN	__FRACT_MIN__
     68 #define FRACT_MAX	__FRACT_MAX__
     69 #define FRACT_EPSILON	__FRACT_EPSILON__
     70 
     71 #undef UFRACT_FBIT
     72 #undef UFRACT_MIN
     73 #undef UFRACT_MAX
     74 #undef UFRACT_EPSILON
     75 #define UFRACT_FBIT	__UFRACT_FBIT__
     76 #define UFRACT_MIN	__UFRACT_MIN__		/* GCC extension.  */
     77 #define UFRACT_MAX	__UFRACT_MAX__
     78 #define UFRACT_EPSILON	__UFRACT_EPSILON__
     79 
     80 #undef LFRACT_FBIT
     81 #undef LFRACT_MIN
     82 #undef LFRACT_MAX
     83 #undef LFRACT_EPSILON
     84 #define LFRACT_FBIT	__LFRACT_FBIT__
     85 #define LFRACT_MIN	__LFRACT_MIN__
     86 #define LFRACT_MAX	__LFRACT_MAX__
     87 #define LFRACT_EPSILON	__LFRACT_EPSILON__
     88 
     89 #undef ULFRACT_FBIT
     90 #undef ULFRACT_MIN
     91 #undef ULFRACT_MAX
     92 #undef ULFRACT_EPSILON
     93 #define ULFRACT_FBIT	__ULFRACT_FBIT__
     94 #define ULFRACT_MIN	__ULFRACT_MIN__		/* GCC extension.  */
     95 #define ULFRACT_MAX	__ULFRACT_MAX__
     96 #define ULFRACT_EPSILON	__ULFRACT_EPSILON__
     97 
     98 #undef LLFRACT_FBIT
     99 #undef LLFRACT_MIN
    100 #undef LLFRACT_MAX
    101 #undef LLFRACT_EPSILON
    102 #define LLFRACT_FBIT	__LLFRACT_FBIT__	/* GCC extension.  */
    103 #define LLFRACT_MIN	__LLFRACT_MIN__		/* GCC extension.  */
    104 #define LLFRACT_MAX	__LLFRACT_MAX__		/* GCC extension.  */
    105 #define LLFRACT_EPSILON	__LLFRACT_EPSILON__	/* GCC extension.  */
    106 
    107 #undef ULLFRACT_FBIT
    108 #undef ULLFRACT_MIN
    109 #undef ULLFRACT_MAX
    110 #undef ULLFRACT_EPSILON
    111 #define ULLFRACT_FBIT	__ULLFRACT_FBIT__	/* GCC extension.  */
    112 #define ULLFRACT_MIN	__ULLFRACT_MIN__	/* GCC extension.  */
    113 #define ULLFRACT_MAX	__ULLFRACT_MAX__	/* GCC extension.  */
    114 #define ULLFRACT_EPSILON	__ULLFRACT_EPSILON__	/* GCC extension.  */
    115 
    116 #undef SACCUM_FBIT
    117 #undef SACCUM_IBIT
    118 #undef SACCUM_MIN
    119 #undef SACCUM_MAX
    120 #undef SACCUM_EPSILON
    121 #define SACCUM_FBIT	__SACCUM_FBIT__
    122 #define SACCUM_IBIT	__SACCUM_IBIT__
    123 #define SACCUM_MIN	__SACCUM_MIN__
    124 #define SACCUM_MAX	__SACCUM_MAX__
    125 #define SACCUM_EPSILON	__SACCUM_EPSILON__
    126 
    127 #undef USACCUM_FBIT
    128 #undef USACCUM_IBIT
    129 #undef USACCUM_MIN
    130 #undef USACCUM_MAX
    131 #undef USACCUM_EPSILON
    132 #define USACCUM_FBIT	__USACCUM_FBIT__
    133 #define USACCUM_IBIT	__USACCUM_IBIT__
    134 #define USACCUM_MIN	__USACCUM_MIN__		/* GCC extension.  */
    135 #define USACCUM_MAX	__USACCUM_MAX__
    136 #define USACCUM_EPSILON	__USACCUM_EPSILON__
    137 
    138 #undef ACCUM_FBIT
    139 #undef ACCUM_IBIT
    140 #undef ACCUM_MIN
    141 #undef ACCUM_MAX
    142 #undef ACCUM_EPSILON
    143 #define ACCUM_FBIT	__ACCUM_FBIT__
    144 #define ACCUM_IBIT	__ACCUM_IBIT__
    145 #define ACCUM_MIN	__ACCUM_MIN__
    146 #define ACCUM_MAX	__ACCUM_MAX__
    147 #define ACCUM_EPSILON	__ACCUM_EPSILON__
    148 
    149 #undef UACCUM_FBIT
    150 #undef UACCUM_IBIT
    151 #undef UACCUM_MIN
    152 #undef UACCUM_MAX
    153 #undef UACCUM_EPSILON
    154 #define UACCUM_FBIT	__UACCUM_FBIT__
    155 #define UACCUM_IBIT	__UACCUM_IBIT__
    156 #define UACCUM_MIN	__UACCUM_MIN__		/* GCC extension.  */
    157 #define UACCUM_MAX	__UACCUM_MAX__
    158 #define UACCUM_EPSILON	__UACCUM_EPSILON__
    159 
    160 #undef LACCUM_FBIT
    161 #undef LACCUM_IBIT
    162 #undef LACCUM_MIN
    163 #undef LACCUM_MAX
    164 #undef LACCUM_EPSILON
    165 #define LACCUM_FBIT	__LACCUM_FBIT__
    166 #define LACCUM_IBIT	__LACCUM_IBIT__
    167 #define LACCUM_MIN	__LACCUM_MIN__
    168 #define LACCUM_MAX	__LACCUM_MAX__
    169 #define LACCUM_EPSILON	__LACCUM_EPSILON__
    170 
    171 #undef ULACCUM_FBIT
    172 #undef ULACCUM_IBIT
    173 #undef ULACCUM_MIN
    174 #undef ULACCUM_MAX
    175 #undef ULACCUM_EPSILON
    176 #define ULACCUM_FBIT	__ULACCUM_FBIT__
    177 #define ULACCUM_IBIT	__ULACCUM_IBIT__
    178 #define ULACCUM_MIN	__ULACCUM_MIN__		/* GCC extension.  */
    179 #define ULACCUM_MAX	__ULACCUM_MAX__
    180 #define ULACCUM_EPSILON	__ULACCUM_EPSILON__
    181 
    182 #undef LLACCUM_FBIT
    183 #undef LLACCUM_IBIT
    184 #undef LLACCUM_MIN
    185 #undef LLACCUM_MAX
    186 #undef LLACCUM_EPSILON
    187 #define LLACCUM_FBIT	__LLACCUM_FBIT__	/* GCC extension.  */
    188 #define LLACCUM_IBIT	__LLACCUM_IBIT__	/* GCC extension.  */
    189 #define LLACCUM_MIN	__LLACCUM_MIN__		/* GCC extension.  */
    190 #define LLACCUM_MAX	__LLACCUM_MAX__		/* GCC extension.  */
    191 #define LLACCUM_EPSILON	__LLACCUM_EPSILON__	/* GCC extension.  */
    192 
    193 #undef ULLACCUM_FBIT
    194 #undef ULLACCUM_IBIT
    195 #undef ULLACCUM_MIN
    196 #undef ULLACCUM_MAX
    197 #undef ULLACCUM_EPSILON
    198 #define ULLACCUM_FBIT	__ULLACCUM_FBIT__	/* GCC extension.  */
    199 #define ULLACCUM_IBIT	__ULLACCUM_IBIT__	/* GCC extension.  */
    200 #define ULLACCUM_MIN	__ULLACCUM_MIN__	/* GCC extension.  */
    201 #define ULLACCUM_MAX	__ULLACCUM_MAX__	/* GCC extension.  */
    202 #define ULLACCUM_EPSILON	__ULLACCUM_EPSILON__	/* GCC extension.  */
    203 
    204 #endif /* _STDFIX_H */
    205