xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/ieee754.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* Copyright (C) 1992, 1995, 1996, 1999, 2002, 2003
2*53ee8cc1Swenshuai.xi 	Free Software Foundation, Inc.
3*53ee8cc1Swenshuai.xi    This file is part of the GNU C Library.
4*53ee8cc1Swenshuai.xi 
5*53ee8cc1Swenshuai.xi    The GNU C Library is free software; you can redistribute it and/or
6*53ee8cc1Swenshuai.xi    modify it under the terms of the GNU Lesser General Public
7*53ee8cc1Swenshuai.xi    License as published by the Free Software Foundation; either
8*53ee8cc1Swenshuai.xi    version 2.1 of the License, or (at your option) any later version.
9*53ee8cc1Swenshuai.xi 
10*53ee8cc1Swenshuai.xi    The GNU C Library 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 GNU
13*53ee8cc1Swenshuai.xi    Lesser General Public License for more details.
14*53ee8cc1Swenshuai.xi 
15*53ee8cc1Swenshuai.xi    You should have received a copy of the GNU Lesser General Public
16*53ee8cc1Swenshuai.xi    License along with the GNU C Library; if not, write to the Free
17*53ee8cc1Swenshuai.xi    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18*53ee8cc1Swenshuai.xi    02111-1307 USA.  */
19*53ee8cc1Swenshuai.xi 
20*53ee8cc1Swenshuai.xi #ifndef _IEEE754_H
21*53ee8cc1Swenshuai.xi 
22*53ee8cc1Swenshuai.xi #define _IEEE754_H 1
23*53ee8cc1Swenshuai.xi #include <features.h>
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi #include <endian.h>
26*53ee8cc1Swenshuai.xi 
27*53ee8cc1Swenshuai.xi #include <float.h>
28*53ee8cc1Swenshuai.xi 
29*53ee8cc1Swenshuai.xi __BEGIN_DECLS
30*53ee8cc1Swenshuai.xi 
31*53ee8cc1Swenshuai.xi union ieee754_float
32*53ee8cc1Swenshuai.xi   {
33*53ee8cc1Swenshuai.xi     float f;
34*53ee8cc1Swenshuai.xi 
35*53ee8cc1Swenshuai.xi     /* This is the IEEE 754 single-precision format.  */
36*53ee8cc1Swenshuai.xi     struct
37*53ee8cc1Swenshuai.xi       {
38*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
39*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
40*53ee8cc1Swenshuai.xi 	unsigned int exponent:8;
41*53ee8cc1Swenshuai.xi 	unsigned int mantissa:23;
42*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
43*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
44*53ee8cc1Swenshuai.xi 	unsigned int mantissa:23;
45*53ee8cc1Swenshuai.xi 	unsigned int exponent:8;
46*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
47*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
48*53ee8cc1Swenshuai.xi       } ieee;
49*53ee8cc1Swenshuai.xi 
50*53ee8cc1Swenshuai.xi     /* This format makes it easier to see if a NaN is a signalling NaN.  */
51*53ee8cc1Swenshuai.xi     struct
52*53ee8cc1Swenshuai.xi       {
53*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
54*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
55*53ee8cc1Swenshuai.xi 	unsigned int exponent:8;
56*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
57*53ee8cc1Swenshuai.xi 	unsigned int mantissa:22;
58*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
59*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
60*53ee8cc1Swenshuai.xi 	unsigned int mantissa:22;
61*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
62*53ee8cc1Swenshuai.xi 	unsigned int exponent:8;
63*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
64*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
65*53ee8cc1Swenshuai.xi       } ieee_nan;
66*53ee8cc1Swenshuai.xi   };
67*53ee8cc1Swenshuai.xi 
68*53ee8cc1Swenshuai.xi #define IEEE754_FLOAT_BIAS	0x7f /* Added to exponent.  */
69*53ee8cc1Swenshuai.xi 
70*53ee8cc1Swenshuai.xi 
71*53ee8cc1Swenshuai.xi union ieee754_double
72*53ee8cc1Swenshuai.xi   {
73*53ee8cc1Swenshuai.xi     double d;
74*53ee8cc1Swenshuai.xi 
75*53ee8cc1Swenshuai.xi     /* This is the IEEE 754 double-precision format.  */
76*53ee8cc1Swenshuai.xi     struct
77*53ee8cc1Swenshuai.xi       {
78*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
79*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
80*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
81*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
82*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
83*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
84*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
85*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
86*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
87*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
88*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
89*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
90*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
91*53ee8cc1Swenshuai.xi # else
92*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
93*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
94*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
95*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
96*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
97*53ee8cc1Swenshuai.xi # endif
98*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
99*53ee8cc1Swenshuai.xi       } ieee;
100*53ee8cc1Swenshuai.xi 
101*53ee8cc1Swenshuai.xi     /* This format makes it easier to see if a NaN is a signalling NaN.  */
102*53ee8cc1Swenshuai.xi     struct
103*53ee8cc1Swenshuai.xi       {
104*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
105*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
106*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
107*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
108*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
109*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
110*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
111*53ee8cc1Swenshuai.xi #else
112*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
113*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
114*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
115*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
116*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
117*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
118*53ee8cc1Swenshuai.xi # else
119*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
120*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
121*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
122*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
123*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
124*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
125*53ee8cc1Swenshuai.xi # endif
126*53ee8cc1Swenshuai.xi #endif
127*53ee8cc1Swenshuai.xi       } ieee_nan;
128*53ee8cc1Swenshuai.xi   };
129*53ee8cc1Swenshuai.xi 
130*53ee8cc1Swenshuai.xi #define IEEE754_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
131*53ee8cc1Swenshuai.xi 
132*53ee8cc1Swenshuai.xi #if LDBL_MANT_DIG == 113
133*53ee8cc1Swenshuai.xi 
134*53ee8cc1Swenshuai.xi union ieee854_long_double
135*53ee8cc1Swenshuai.xi   {
136*53ee8cc1Swenshuai.xi     long double d;
137*53ee8cc1Swenshuai.xi 
138*53ee8cc1Swenshuai.xi     /* This is the IEEE 854 quad-precision format.  */
139*53ee8cc1Swenshuai.xi     struct
140*53ee8cc1Swenshuai.xi       {
141*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
142*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
143*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
144*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
145*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:16;
146*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
147*53ee8cc1Swenshuai.xi 	unsigned int mantissa2:32;
148*53ee8cc1Swenshuai.xi 	unsigned int mantissa3:32;
149*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
150*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
151*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
152*53ee8cc1Swenshuai.xi 	unsigned int mantissa3:32;
153*53ee8cc1Swenshuai.xi 	unsigned int mantissa2:32;
154*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
155*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:16;
156*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
157*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
158*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
159*53ee8cc1Swenshuai.xi       } ieee;
160*53ee8cc1Swenshuai.xi 
161*53ee8cc1Swenshuai.xi     /* This format makes it easier to see if a NaN is a signalling NaN.  */
162*53ee8cc1Swenshuai.xi     struct
163*53ee8cc1Swenshuai.xi       {
164*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
165*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
166*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
167*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
168*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
169*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:15;
170*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
171*53ee8cc1Swenshuai.xi 	unsigned int mantissa2:32;
172*53ee8cc1Swenshuai.xi 	unsigned int mantissa3:32;
173*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
174*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
175*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
176*53ee8cc1Swenshuai.xi 	unsigned int mantissa3:32;
177*53ee8cc1Swenshuai.xi 	unsigned int mantissa2:32;
178*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
179*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:15;
180*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
181*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
182*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
183*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
184*53ee8cc1Swenshuai.xi       } ieee_nan;
185*53ee8cc1Swenshuai.xi   };
186*53ee8cc1Swenshuai.xi 
187*53ee8cc1Swenshuai.xi #define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent.  */
188*53ee8cc1Swenshuai.xi 
189*53ee8cc1Swenshuai.xi #elif LDBL_MANT_DIG == 64
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi union ieee854_long_double
192*53ee8cc1Swenshuai.xi   {
193*53ee8cc1Swenshuai.xi     long double d;
194*53ee8cc1Swenshuai.xi 
195*53ee8cc1Swenshuai.xi     /* This is the IEEE 854 double-extended-precision format.  */
196*53ee8cc1Swenshuai.xi     struct
197*53ee8cc1Swenshuai.xi       {
198*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
199*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
200*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
201*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
202*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:32;
203*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
204*53ee8cc1Swenshuai.xi #endif
205*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
206*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
207*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
208*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
209*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
210*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:32;
211*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
212*53ee8cc1Swenshuai.xi # else
213*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
214*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:32;
215*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
216*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
217*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
218*53ee8cc1Swenshuai.xi # endif
219*53ee8cc1Swenshuai.xi #endif
220*53ee8cc1Swenshuai.xi       } ieee;
221*53ee8cc1Swenshuai.xi 
222*53ee8cc1Swenshuai.xi     /* This is for NaNs in the IEEE 854 double-extended-precision format.  */
223*53ee8cc1Swenshuai.xi     struct
224*53ee8cc1Swenshuai.xi       {
225*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
226*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
227*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
228*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
229*53ee8cc1Swenshuai.xi 	unsigned int one:1;
230*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
231*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:30;
232*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
233*53ee8cc1Swenshuai.xi #endif
234*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
235*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
236*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
237*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
238*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
239*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:30;
240*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
241*53ee8cc1Swenshuai.xi 	unsigned int one:1;
242*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
243*53ee8cc1Swenshuai.xi # else
244*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
245*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:30;
246*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
247*53ee8cc1Swenshuai.xi 	unsigned int one:1;
248*53ee8cc1Swenshuai.xi 	unsigned int exponent:15;
249*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
250*53ee8cc1Swenshuai.xi 	unsigned int empty:16;
251*53ee8cc1Swenshuai.xi # endif
252*53ee8cc1Swenshuai.xi #endif
253*53ee8cc1Swenshuai.xi       } ieee_nan;
254*53ee8cc1Swenshuai.xi   };
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi #define IEEE854_LONG_DOUBLE_BIAS 0x3fff
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi #elif LDBL_MANT_DIG == 53
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi union ieee854_long_double
261*53ee8cc1Swenshuai.xi   {
262*53ee8cc1Swenshuai.xi     long double d;
263*53ee8cc1Swenshuai.xi 
264*53ee8cc1Swenshuai.xi     /* This is the IEEE 754 double-precision format.  */
265*53ee8cc1Swenshuai.xi     struct
266*53ee8cc1Swenshuai.xi       {
267*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
268*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
269*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
270*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
271*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
272*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
273*53ee8cc1Swenshuai.xi #endif				/* Big endian.  */
274*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __LITTLE_ENDIAN
275*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
276*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
277*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
278*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
279*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
280*53ee8cc1Swenshuai.xi # else
281*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
282*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
283*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:20;
284*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
285*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
286*53ee8cc1Swenshuai.xi # endif
287*53ee8cc1Swenshuai.xi #endif				/* Little endian.  */
288*53ee8cc1Swenshuai.xi       } ieee;
289*53ee8cc1Swenshuai.xi 
290*53ee8cc1Swenshuai.xi     /* This format makes it easier to see if a NaN is a signalling NaN.  */
291*53ee8cc1Swenshuai.xi     struct
292*53ee8cc1Swenshuai.xi       {
293*53ee8cc1Swenshuai.xi #if	__BYTE_ORDER == __BIG_ENDIAN
294*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
295*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
296*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
297*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
298*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
299*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
300*53ee8cc1Swenshuai.xi #else
301*53ee8cc1Swenshuai.xi # if	__FLOAT_WORD_ORDER == __BIG_ENDIAN
302*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
303*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
304*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
305*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
306*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
307*53ee8cc1Swenshuai.xi # else
308*53ee8cc1Swenshuai.xi 	/* Together these comprise the mantissa.  */
309*53ee8cc1Swenshuai.xi 	unsigned int mantissa1:32;
310*53ee8cc1Swenshuai.xi 	unsigned int mantissa0:19;
311*53ee8cc1Swenshuai.xi 	unsigned int quiet_nan:1;
312*53ee8cc1Swenshuai.xi 	unsigned int exponent:11;
313*53ee8cc1Swenshuai.xi 	unsigned int negative:1;
314*53ee8cc1Swenshuai.xi # endif
315*53ee8cc1Swenshuai.xi #endif
316*53ee8cc1Swenshuai.xi       } ieee_nan;
317*53ee8cc1Swenshuai.xi   };
318*53ee8cc1Swenshuai.xi 
319*53ee8cc1Swenshuai.xi #define IEEE854_LONG_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
320*53ee8cc1Swenshuai.xi 
321*53ee8cc1Swenshuai.xi #endif /* LDBL_MANT_DIG == 53 */
322*53ee8cc1Swenshuai.xi 
323*53ee8cc1Swenshuai.xi __END_DECLS
324*53ee8cc1Swenshuai.xi 
325*53ee8cc1Swenshuai.xi #endif /* ieee754.h */
326