* java-assert.h: Unused, removed.
[cacao.git] / src / fdlibm / ieeefp.h
1 #ifndef __CLASSPATH_IEEEFP_H__
2 #define __CLASSPATH_IEEEFP_H__
3
4 #ifndef __IEEE_BIG_ENDIAN
5 #ifndef __IEEE_LITTLE_ENDIAN
6
7 #if defined(__alpha) || defined(__alpha__)
8 #define __IEEE_LITTLE_ENDIAN
9 #endif
10
11 #if defined(__arm__) || defined(__thumb__)
12 /* ARM traditionally used big-endian words; and within those words the
13    byte ordering was big or little endian depending upon the target.  
14    Modern floating-point formats are naturally ordered; in this case
15    __VFP_FP__ will be defined, even if soft-float.  */
16 #ifdef __VFP_FP__
17 #ifdef __ARMEL__
18 #define __IEEE_LITTLE_ENDIAN
19 #else
20 #define __IEEE_BIG_ENDIAN
21 #endif
22 #else
23 #define __IEEE_BIG_ENDIAN
24 #ifdef __ARMEL__
25 #define __IEEE_BYTES_LITTLE_ENDIAN
26 #endif
27 #endif
28 #endif
29
30 #ifdef __hppa__
31 #define __IEEE_BIG_ENDIAN
32 #endif
33
34 #if defined (__sparc) || defined (__sparc__)
35 #define __IEEE_BIG_ENDIAN
36 #endif
37
38 #ifdef __m32r__
39 #ifdef __LITTLE_ENDIAN__
40 #define __IEEE_LITTLE_ENDIAN
41 #else
42 #define __IEEE_BIG_ENDIAN
43 #endif
44 #endif
45
46 #if defined(__m68k__) || defined(__mc68000__)
47 #define __IEEE_BIG_ENDIAN
48 #endif
49
50 #if defined (__H8300__) || defined (__H8300H__)
51 #define __IEEE_BIG_ENDIAN
52 #define __SMALL_BITFIELDS
53 #define _DOUBLE_IS_32BITS
54 #endif
55
56 #ifdef __H8500__
57 #define __IEEE_BIG_ENDIAN
58 #define __SMALL_BITFIELDS
59 #define _DOUBLE_IS_32BITS
60 #endif
61
62 #ifdef __sh__
63 #ifdef __LITTLE_ENDIAN__
64 #define __IEEE_LITTLE_ENDIAN
65 #else
66 #define __IEEE_BIG_ENDIAN
67 #endif
68
69 #ifdef __SH3E__
70 #define _DOUBLE_IS_32BITS
71 #endif
72 #endif
73
74 #ifdef _AM29K
75 #define __IEEE_BIG_ENDIAN
76 #endif
77
78 #ifdef __i386__
79 #define __IEEE_LITTLE_ENDIAN
80 #endif
81
82 #ifdef __x86_64__
83 #define __IEEE_LITTLE_ENDIAN
84 #endif
85
86 #ifdef __i960__
87 #define __IEEE_LITTLE_ENDIAN
88 #endif
89
90 #ifdef __MIPSEL__
91 #define __IEEE_LITTLE_ENDIAN
92 #endif
93
94 #ifdef __MIPSEB__
95 #define __IEEE_BIG_ENDIAN
96 #endif
97
98 #ifdef __pj__
99 #ifdef __pjl__
100 #define __IEEE_LITTLE_ENDIAN
101 #else
102 #define __IEEE_BIG_ENDIAN
103 #endif
104 #endif
105
106 /* necv70 was __IEEE_LITTLE_ENDIAN. */
107
108 #ifdef __W65__
109 #define __IEEE_LITTLE_ENDIAN
110 #define __SMALL_BITFIELDS
111 #define _DOUBLE_IS_32BITS
112 #endif
113
114 #if defined(__Z8001__) || defined(__Z8002__)
115 #define __IEEE_BIG_ENDIAN
116 #endif
117
118 #ifdef __m88k__
119 #define __IEEE_BIG_ENDIAN
120 #endif
121
122 #ifdef __v800
123 #define __IEEE_LITTLE_ENDIAN
124 #endif
125
126 #if defined (__PPC__) || defined (__ppc__) || defined (__ppc64__)
127 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) \
128     || defined (__APPLE__)
129 #define __IEEE_BIG_ENDIAN
130 #else
131 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
132 #define __IEEE_LITTLE_ENDIAN
133 #endif
134 #endif
135 #endif
136
137 #ifdef __fr30__
138 #define __IEEE_BIG_ENDIAN
139 #endif
140
141 #ifdef __mcore__
142 #define __IEEE_BIG_ENDIAN
143 #endif
144
145
146 #ifdef __ia64__
147 #ifdef __BIG_ENDIAN__
148 #define __IEEE_BIG_ENDIAN
149 #else
150 #define __IEEE_LITTLE_ENDIAN
151 #endif
152 #endif
153
154 #ifdef __s390__
155 #define __IEEE_BIG_ENDIAN
156 #endif
157
158 #ifndef __IEEE_BIG_ENDIAN
159 #ifndef __IEEE_LITTLE_ENDIAN
160 #error Endianess not declared!!
161 #endif /* not __IEEE_LITTLE_ENDIAN */
162 #endif /* not __IEEE_BIG_ENDIAN */
163
164 #endif /* not __IEEE_LITTLE_ENDIAN */
165 #endif /* not __IEEE_BIG_ENDIAN */
166
167 #endif /* __CLASSPATH_IEEEFP_H__ */