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