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