* c-torture/compile/961203-1.x: Delete.
[official-gcc.git] / libstdc++-v3 / src / limits_generic.cc
blob655e365500303704ebf042b80167f391757160be
1 // Static data members of -*- C++ -*- numeric_limits classes
3 // Copyright (C) 2000 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
9 // any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 // USA.
21 // As a special exception, you may use this file as part of a free software
22 // library without restriction. Specifically, if other files instantiate
23 // templates or use macros or inline functions from this file, or you compile
24 // this file and link it with other files to produce an executable, this
25 // file does not by itself cause the resulting executable to be covered by
26 // the GNU General Public License. This exception does not however
27 // invalidate any other reasons why the executable file might be covered by
28 // the GNU General Public License.
30 // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
33 // ISO C++ 14882:1998
34 // 18.2.1
37 #include <bits/std_limits.h>
38 namespace std {
40 const bool numeric_limits<bool>::is_specialized;
41 const int numeric_limits<bool>::digits;
42 const int numeric_limits<bool>::digits10;
43 const bool numeric_limits<bool>::is_signed;
44 const bool numeric_limits<bool>::is_integer;
45 const bool numeric_limits<bool>::is_exact;
46 const int numeric_limits<bool>::radix;
47 const int numeric_limits<bool>::min_exponent;
48 const int numeric_limits<bool>::min_exponent10;
49 const int numeric_limits<bool>::max_exponent;
50 const int numeric_limits<bool>::max_exponent10;
51 const bool numeric_limits<bool>::has_infinity;
52 const bool numeric_limits<bool>::has_quiet_NaN;
53 const bool numeric_limits<bool>::has_signaling_NaN;
54 const float_denorm_style numeric_limits<bool>::has_denorm;
55 const bool numeric_limits<bool>::has_denorm_loss;
56 const bool numeric_limits<bool>::is_iec559;
57 const bool numeric_limits<bool>::is_bounded;
58 const bool numeric_limits<bool>::is_modulo;
59 const bool numeric_limits<bool>::traps;
60 const bool numeric_limits<bool>::tinyness_before;
61 const float_round_style numeric_limits<bool>::round_style;
63 const bool numeric_limits<char>::is_specialized;
64 const int numeric_limits<char>::digits;
65 const int numeric_limits<char>::digits10;
66 const bool numeric_limits<char>::is_signed;
67 const bool numeric_limits<char>::is_integer;
68 const bool numeric_limits<char>::is_exact;
69 const int numeric_limits<char>::radix;
70 const int numeric_limits<char>::min_exponent;
71 const int numeric_limits<char>::min_exponent10;
72 const int numeric_limits<char>::max_exponent;
73 const int numeric_limits<char>::max_exponent10;
74 const bool numeric_limits<char>::has_infinity;
75 const bool numeric_limits<char>::has_quiet_NaN;
76 const bool numeric_limits<char>::has_signaling_NaN;
77 const float_denorm_style numeric_limits<char>::has_denorm;
78 const bool numeric_limits<char>::has_denorm_loss;
79 const bool numeric_limits<char>::is_iec559;
80 const bool numeric_limits<char>::is_bounded;
81 const bool numeric_limits<char>::is_modulo;
82 const bool numeric_limits<char>::traps;
83 const bool numeric_limits<char>::tinyness_before;
84 const float_round_style numeric_limits<char>::round_style;
86 const bool numeric_limits<signed char>::is_specialized;
87 const int numeric_limits<signed char>::digits;
88 const int numeric_limits<signed char>::digits10;
89 const bool numeric_limits<signed char>::is_signed;
90 const bool numeric_limits<signed char>::is_integer;
91 const bool numeric_limits<signed char>::is_exact;
92 const int numeric_limits<signed char>::radix;
93 const int numeric_limits<signed char>::min_exponent;
94 const int numeric_limits<signed char>::min_exponent10;
95 const int numeric_limits<signed char>::max_exponent;
96 const int numeric_limits<signed char>::max_exponent10;
97 const bool numeric_limits<signed char>::has_infinity;
98 const bool numeric_limits<signed char>::has_quiet_NaN;
99 const bool numeric_limits<signed char>::has_signaling_NaN;
100 const float_denorm_style numeric_limits<signed char>::has_denorm;
101 const bool numeric_limits<signed char>::has_denorm_loss;
102 const bool numeric_limits<signed char>::is_iec559;
103 const bool numeric_limits<signed char>::is_bounded;
104 const bool numeric_limits<signed char>::is_modulo;
105 const bool numeric_limits<signed char>::traps;
106 const bool numeric_limits<signed char>::tinyness_before;
107 const float_round_style numeric_limits<signed char>::round_style;
109 const bool numeric_limits<unsigned char>::is_specialized;
110 const int numeric_limits<unsigned char>::digits;
111 const int numeric_limits<unsigned char>::digits10;
112 const bool numeric_limits<unsigned char>::is_signed;
113 const bool numeric_limits<unsigned char>::is_integer;
114 const bool numeric_limits<unsigned char>::is_exact;
115 const int numeric_limits<unsigned char>::radix;
116 const int numeric_limits<unsigned char>::min_exponent;
117 const int numeric_limits<unsigned char>::min_exponent10;
118 const int numeric_limits<unsigned char>::max_exponent;
119 const int numeric_limits<unsigned char>::max_exponent10;
120 const bool numeric_limits<unsigned char>::has_infinity;
121 const bool numeric_limits<unsigned char>::has_quiet_NaN;
122 const bool numeric_limits<unsigned char>::has_signaling_NaN;
123 const float_denorm_style numeric_limits<unsigned char>::has_denorm;
124 const bool numeric_limits<unsigned char>::has_denorm_loss;
125 const bool numeric_limits<unsigned char>::is_iec559;
126 const bool numeric_limits<unsigned char>::is_bounded;
127 const bool numeric_limits<unsigned char>::is_modulo;
128 const bool numeric_limits<unsigned char>::traps;
129 const bool numeric_limits<unsigned char>::tinyness_before;
130 const float_round_style numeric_limits<unsigned char>::round_style;
132 const bool numeric_limits<short>::is_specialized;
133 const int numeric_limits<short>::digits;
134 const int numeric_limits<short>::digits10;
135 const bool numeric_limits<short>::is_signed;
136 const bool numeric_limits<short>::is_integer;
137 const bool numeric_limits<short>::is_exact;
138 const int numeric_limits<short>::radix;
139 const int numeric_limits<short>::min_exponent;
140 const int numeric_limits<short>::min_exponent10;
141 const int numeric_limits<short>::max_exponent;
142 const int numeric_limits<short>::max_exponent10;
143 const bool numeric_limits<short>::has_infinity;
144 const bool numeric_limits<short>::has_quiet_NaN;
145 const bool numeric_limits<short>::has_signaling_NaN;
146 const float_denorm_style numeric_limits<short>::has_denorm;
147 const bool numeric_limits<short>::has_denorm_loss;
148 const bool numeric_limits<short>::is_iec559;
149 const bool numeric_limits<short>::is_bounded;
150 const bool numeric_limits<short>::is_modulo;
151 const bool numeric_limits<short>::traps;
152 const bool numeric_limits<short>::tinyness_before;
153 const float_round_style numeric_limits<short>::round_style;
155 const bool numeric_limits<unsigned short>::is_specialized;
156 const int numeric_limits<unsigned short>::digits;
157 const int numeric_limits<unsigned short>::digits10;
158 const bool numeric_limits<unsigned short>::is_signed;
159 const bool numeric_limits<unsigned short>::is_integer;
160 const bool numeric_limits<unsigned short>::is_exact;
161 const int numeric_limits<unsigned short>::radix;
162 const int numeric_limits<unsigned short>::min_exponent;
163 const int numeric_limits<unsigned short>::min_exponent10;
164 const int numeric_limits<unsigned short>::max_exponent;
165 const int numeric_limits<unsigned short>::max_exponent10;
166 const bool numeric_limits<unsigned short>::has_infinity;
167 const bool numeric_limits<unsigned short>::has_quiet_NaN;
168 const bool numeric_limits<unsigned short>::has_signaling_NaN;
169 const float_denorm_style numeric_limits<unsigned short>::has_denorm;
170 const bool numeric_limits<unsigned short>::has_denorm_loss;
171 const bool numeric_limits<unsigned short>::is_iec559;
172 const bool numeric_limits<unsigned short>::is_bounded;
173 const bool numeric_limits<unsigned short>::is_modulo;
174 const bool numeric_limits<unsigned short>::traps;
175 const bool numeric_limits<unsigned short>::tinyness_before;
176 const float_round_style numeric_limits<unsigned short>::round_style;
178 const bool numeric_limits<int>::is_specialized;
179 const int numeric_limits<int>::digits;
180 const int numeric_limits<int>::digits10;
181 const bool numeric_limits<int>::is_signed;
182 const bool numeric_limits<int>::is_integer;
183 const bool numeric_limits<int>::is_exact;
184 const int numeric_limits<int>::radix;
185 const int numeric_limits<int>::min_exponent;
186 const int numeric_limits<int>::min_exponent10;
187 const int numeric_limits<int>::max_exponent;
188 const int numeric_limits<int>::max_exponent10;
189 const bool numeric_limits<int>::has_infinity;
190 const bool numeric_limits<int>::has_quiet_NaN;
191 const bool numeric_limits<int>::has_signaling_NaN;
192 const float_denorm_style numeric_limits<int>::has_denorm;
193 const bool numeric_limits<int>::has_denorm_loss;
194 const bool numeric_limits<int>::is_iec559;
195 const bool numeric_limits<int>::is_bounded;
196 const bool numeric_limits<int>::is_modulo;
197 const bool numeric_limits<int>::traps;
198 const bool numeric_limits<int>::tinyness_before;
199 const float_round_style numeric_limits<int>::round_style;
201 const bool numeric_limits<unsigned int>::is_specialized;
202 const int numeric_limits<unsigned int>::digits;
203 const int numeric_limits<unsigned int>::digits10;
204 const bool numeric_limits<unsigned int>::is_signed;
205 const bool numeric_limits<unsigned int>::is_integer;
206 const bool numeric_limits<unsigned int>::is_exact;
207 const int numeric_limits<unsigned int>::radix;
208 const int numeric_limits<unsigned int>::min_exponent;
209 const int numeric_limits<unsigned int>::min_exponent10;
210 const int numeric_limits<unsigned int>::max_exponent;
211 const int numeric_limits<unsigned int>::max_exponent10;
212 const bool numeric_limits<unsigned int>::has_infinity;
213 const bool numeric_limits<unsigned int>::has_quiet_NaN;
214 const bool numeric_limits<unsigned int>::has_signaling_NaN;
215 const float_denorm_style numeric_limits<unsigned int>::has_denorm;
216 const bool numeric_limits<unsigned int>::has_denorm_loss;
217 const bool numeric_limits<unsigned int>::is_iec559;
218 const bool numeric_limits<unsigned int>::is_bounded;
219 const bool numeric_limits<unsigned int>::is_modulo;
220 const bool numeric_limits<unsigned int>::traps;
221 const bool numeric_limits<unsigned int>::tinyness_before;
222 const float_round_style numeric_limits<unsigned int>::round_style;
224 const bool numeric_limits<long>::is_specialized;
225 const int numeric_limits<long>::digits;
226 const int numeric_limits<long>::digits10;
227 const bool numeric_limits<long>::is_signed;
228 const bool numeric_limits<long>::is_integer;
229 const bool numeric_limits<long>::is_exact;
230 const int numeric_limits<long>::radix;
231 const int numeric_limits<long>::min_exponent;
232 const int numeric_limits<long>::min_exponent10;
233 const int numeric_limits<long>::max_exponent;
234 const int numeric_limits<long>::max_exponent10;
235 const bool numeric_limits<long>::has_infinity;
236 const bool numeric_limits<long>::has_quiet_NaN;
237 const bool numeric_limits<long>::has_signaling_NaN;
238 const float_denorm_style numeric_limits<long>::has_denorm;
239 const bool numeric_limits<long>::has_denorm_loss;
240 const bool numeric_limits<long>::is_iec559;
241 const bool numeric_limits<long>::is_bounded;
242 const bool numeric_limits<long>::is_modulo;
243 const bool numeric_limits<long>::traps;
244 const bool numeric_limits<long>::tinyness_before;
245 const float_round_style numeric_limits<long>::round_style;
247 const bool numeric_limits<unsigned long>::is_specialized;
248 const int numeric_limits<unsigned long>::digits;
249 const int numeric_limits<unsigned long>::digits10;
250 const bool numeric_limits<unsigned long>::is_signed;
251 const bool numeric_limits<unsigned long>::is_integer;
252 const bool numeric_limits<unsigned long>::is_exact;
253 const int numeric_limits<unsigned long>::radix;
254 const int numeric_limits<unsigned long>::min_exponent;
255 const int numeric_limits<unsigned long>::min_exponent10;
256 const int numeric_limits<unsigned long>::max_exponent;
257 const int numeric_limits<unsigned long>::max_exponent10;
258 const bool numeric_limits<unsigned long>::has_infinity;
259 const bool numeric_limits<unsigned long>::has_quiet_NaN;
260 const bool numeric_limits<unsigned long>::has_signaling_NaN;
261 const float_denorm_style numeric_limits<unsigned long>::has_denorm;
262 const bool numeric_limits<unsigned long>::has_denorm_loss;
263 const bool numeric_limits<unsigned long>::is_iec559;
264 const bool numeric_limits<unsigned long>::is_bounded;
265 const bool numeric_limits<unsigned long>::is_modulo;
266 const bool numeric_limits<unsigned long>::traps;
267 const bool numeric_limits<unsigned long>::tinyness_before;
268 const float_round_style numeric_limits<unsigned long>::round_style;
270 const bool numeric_limits<float>::is_specialized;
271 const int numeric_limits<float>::digits;
272 const int numeric_limits<float>::digits10;
273 const bool numeric_limits<float>::is_signed;
274 const bool numeric_limits<float>::is_integer;
275 const bool numeric_limits<float>::is_exact;
276 const int numeric_limits<float>::radix;
277 const int numeric_limits<float>::min_exponent;
278 const int numeric_limits<float>::min_exponent10;
279 const int numeric_limits<float>::max_exponent;
280 const int numeric_limits<float>::max_exponent10;
281 const bool numeric_limits<float>::has_infinity;
282 const bool numeric_limits<float>::has_quiet_NaN;
283 const bool numeric_limits<float>::has_signaling_NaN;
284 const float_denorm_style numeric_limits<float>::has_denorm;
285 const bool numeric_limits<float>::has_denorm_loss;
286 const bool numeric_limits<float>::is_iec559;
287 const bool numeric_limits<float>::is_bounded;
288 const bool numeric_limits<float>::is_modulo;
289 const bool numeric_limits<float>::traps;
290 const bool numeric_limits<float>::tinyness_before;
291 const float_round_style numeric_limits<float>::round_style;
293 const bool numeric_limits<double>::is_specialized;
294 const int numeric_limits<double>::digits;
295 const int numeric_limits<double>::digits10;
296 const bool numeric_limits<double>::is_signed;
297 const bool numeric_limits<double>::is_integer;
298 const bool numeric_limits<double>::is_exact;
299 const int numeric_limits<double>::radix;
300 const int numeric_limits<double>::min_exponent;
301 const int numeric_limits<double>::min_exponent10;
302 const int numeric_limits<double>::max_exponent;
303 const int numeric_limits<double>::max_exponent10;
304 const bool numeric_limits<double>::has_infinity;
305 const bool numeric_limits<double>::has_quiet_NaN;
306 const bool numeric_limits<double>::has_signaling_NaN;
307 const float_denorm_style numeric_limits<double>::has_denorm;
308 const bool numeric_limits<double>::has_denorm_loss;
309 const bool numeric_limits<double>::is_iec559;
310 const bool numeric_limits<double>::is_bounded;
311 const bool numeric_limits<double>::is_modulo;
312 const bool numeric_limits<double>::traps;
313 const bool numeric_limits<double>::tinyness_before;
314 const float_round_style numeric_limits<double>::round_style;
316 const bool numeric_limits<long double>::is_specialized;
317 const int numeric_limits<long double>::digits;
318 const int numeric_limits<long double>::digits10;
319 const bool numeric_limits<long double>::is_signed;
320 const bool numeric_limits<long double>::is_integer;
321 const bool numeric_limits<long double>::is_exact;
322 const int numeric_limits<long double>::radix;
323 const int numeric_limits<long double>::min_exponent;
324 const int numeric_limits<long double>::min_exponent10;
325 const int numeric_limits<long double>::max_exponent;
326 const int numeric_limits<long double>::max_exponent10;
327 const bool numeric_limits<long double>::has_infinity;
328 const bool numeric_limits<long double>::has_quiet_NaN;
329 const bool numeric_limits<long double>::has_signaling_NaN;
330 const float_denorm_style numeric_limits<long double>::has_denorm;
331 const bool numeric_limits<long double>::has_denorm_loss;
332 const bool numeric_limits<long double>::is_iec559;
333 const bool numeric_limits<long double>::is_bounded;
334 const bool numeric_limits<long double>::is_modulo;
335 const bool numeric_limits<long double>::traps;
336 const bool numeric_limits<long double>::tinyness_before;
337 const float_round_style numeric_limits<long double>::round_style;
338 } // namespace std