1 // Static data members of -*- C++ -*- numeric_limits classes
3 // Copyright (C) 2000 Free Software Foundation, Inc.
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)
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,
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>
37 #include <bits/std_limits.h>
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
;