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