OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libstdc++-v3/] [src/] [c++11/] [limits.cc] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 742 jeremybenn
// Static data members of -*- C++ -*- numeric_limits classes
2
 
3
// Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009, 2010, 2011
4
// Free Software Foundation, Inc.
5
//
6
// This file is part of the GNU ISO C++ Library.  This library is free
7
// software; you can redistribute it and/or modify it under the
8
// terms of the GNU General Public License as published by the
9
// Free Software Foundation; either version 3, or (at your option)
10
// any later version.
11
 
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
// GNU General Public License for more details.
16
 
17
// Under Section 7 of GPL version 3, you are granted additional
18
// permissions described in the GCC Runtime Library Exception, version
19
// 3.1, as published by the Free Software Foundation.
20
 
21
// You should have received a copy of the GNU General Public License and
22
// a copy of the GCC Runtime Library Exception along with this program;
23
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24
// <http://www.gnu.org/licenses/>.
25
 
26
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
27
 
28
//
29
// ISO C++ 14882:1998
30
// 18.2.1
31
//
32
 
33
#include <limits>
34
 
35
namespace std _GLIBCXX_VISIBILITY(default)
36
{
37
_GLIBCXX_BEGIN_NAMESPACE_VERSION
38
 
39
#define const _GLIBCXX_USE_CONSTEXPR
40
 
41
  const bool __numeric_limits_base::is_specialized;
42
  const int  __numeric_limits_base::digits;
43
  const int  __numeric_limits_base::digits10;
44
  const int  __numeric_limits_base::max_digits10;
45
  const bool __numeric_limits_base::is_signed;
46
  const bool __numeric_limits_base::is_integer;
47
  const bool __numeric_limits_base::is_exact;
48
  const int  __numeric_limits_base::radix;
49
  const int  __numeric_limits_base::min_exponent;
50
  const int  __numeric_limits_base::min_exponent10;
51
  const int  __numeric_limits_base::max_exponent;
52
  const int  __numeric_limits_base::max_exponent10;
53
  const bool __numeric_limits_base::has_infinity;
54
  const bool __numeric_limits_base::has_quiet_NaN;
55
  const bool __numeric_limits_base::has_signaling_NaN;
56
  const float_denorm_style __numeric_limits_base::has_denorm;
57
  const bool __numeric_limits_base::has_denorm_loss;
58
  const bool __numeric_limits_base::is_iec559;
59
  const bool __numeric_limits_base::is_bounded;
60
  const bool __numeric_limits_base::is_modulo;
61
  const bool __numeric_limits_base::traps;
62
  const bool __numeric_limits_base::tinyness_before;
63
  const float_round_style __numeric_limits_base::round_style;
64
 
65
  // bool
66
  const bool numeric_limits<bool>::is_specialized;
67
  const int  numeric_limits<bool>::digits;
68
  const int  numeric_limits<bool>::digits10;
69
  const int  numeric_limits<bool>::max_digits10;
70
  const bool numeric_limits<bool>::is_signed;
71
  const bool numeric_limits<bool>::is_integer;
72
  const bool numeric_limits<bool>::is_exact;
73
  const int  numeric_limits<bool>::radix;
74
  const int  numeric_limits<bool>::min_exponent;
75
  const int  numeric_limits<bool>::min_exponent10;
76
  const int  numeric_limits<bool>::max_exponent;
77
  const int  numeric_limits<bool>::max_exponent10;
78
  const bool numeric_limits<bool>::has_infinity;
79
  const bool numeric_limits<bool>::has_quiet_NaN;
80
  const bool numeric_limits<bool>::has_signaling_NaN;
81
  const float_denorm_style numeric_limits<bool>::has_denorm;
82
  const bool numeric_limits<bool>::has_denorm_loss;
83
  const bool numeric_limits<bool>::is_iec559;
84
  const bool numeric_limits<bool>::is_bounded;
85
  const bool numeric_limits<bool>::is_modulo;
86
  const bool numeric_limits<bool>::traps;
87
  const bool numeric_limits<bool>::tinyness_before;
88
  const float_round_style numeric_limits<bool>::round_style;
89
 
90
  // char
91
  const bool numeric_limits<char>::is_specialized;
92
  const int  numeric_limits<char>::digits;
93
  const int  numeric_limits<char>::digits10;
94
  const int  numeric_limits<char>::max_digits10;
95
  const bool numeric_limits<char>::is_signed;
96
  const bool numeric_limits<char>::is_integer;
97
  const bool numeric_limits<char>::is_exact;
98
  const int  numeric_limits<char>::radix;
99
  const int  numeric_limits<char>::min_exponent;
100
  const int  numeric_limits<char>::min_exponent10;
101
  const int  numeric_limits<char>::max_exponent;
102
  const int  numeric_limits<char>::max_exponent10;
103
  const bool numeric_limits<char>::has_infinity;
104
  const bool numeric_limits<char>::has_quiet_NaN;
105
  const bool numeric_limits<char>::has_signaling_NaN;
106
  const float_denorm_style numeric_limits<char>::has_denorm;
107
  const bool numeric_limits<char>::has_denorm_loss;
108
  const bool numeric_limits<char>::is_iec559;
109
  const bool numeric_limits<char>::is_bounded;
110
  const bool numeric_limits<char>::is_modulo;
111
  const bool numeric_limits<char>::traps;
112
  const bool numeric_limits<char>::tinyness_before;
113
  const float_round_style numeric_limits<char>::round_style;
114
 
115
  // signed char
116
  const bool numeric_limits<signed char>::is_specialized;
117
  const int  numeric_limits<signed char>::digits;
118
  const int  numeric_limits<signed char>::digits10;
119
  const int  numeric_limits<signed char>::max_digits10;
120
  const bool numeric_limits<signed char>::is_signed;
121
  const bool numeric_limits<signed char>::is_integer;
122
  const bool numeric_limits<signed char>::is_exact;
123
  const int  numeric_limits<signed char>::radix;
124
  const int  numeric_limits<signed char>::min_exponent;
125
  const int  numeric_limits<signed char>::min_exponent10;
126
  const int  numeric_limits<signed char>::max_exponent;
127
  const int  numeric_limits<signed char>::max_exponent10;
128
  const bool numeric_limits<signed char>::has_infinity;
129
  const bool numeric_limits<signed char>::has_quiet_NaN;
130
  const bool numeric_limits<signed char>::has_signaling_NaN;
131
  const float_denorm_style numeric_limits<signed char>::has_denorm;
132
  const bool numeric_limits<signed char>::has_denorm_loss;
133
  const bool numeric_limits<signed char>::is_iec559;
134
  const bool numeric_limits<signed char>::is_bounded;
135
  const bool numeric_limits<signed char>::is_modulo;
136
  const bool numeric_limits<signed char>::traps;
137
  const bool numeric_limits<signed char>::tinyness_before;
138
  const float_round_style numeric_limits<signed char>::round_style;
139
 
140
  // unsigned char
141
  const bool numeric_limits<unsigned char>::is_specialized;
142
  const int  numeric_limits<unsigned char>::digits;
143
  const int  numeric_limits<unsigned char>::digits10;
144
  const int  numeric_limits<unsigned char>::max_digits10;
145
  const bool numeric_limits<unsigned char>::is_signed;
146
  const bool numeric_limits<unsigned char>::is_integer;
147
  const bool numeric_limits<unsigned char>::is_exact;
148
  const int  numeric_limits<unsigned char>::radix;
149
  const int  numeric_limits<unsigned char>::min_exponent;
150
  const int  numeric_limits<unsigned char>::min_exponent10;
151
  const int  numeric_limits<unsigned char>::max_exponent;
152
  const int  numeric_limits<unsigned char>::max_exponent10;
153
  const bool numeric_limits<unsigned char>::has_infinity;
154
  const bool numeric_limits<unsigned char>::has_quiet_NaN;
155
  const bool numeric_limits<unsigned char>::has_signaling_NaN;
156
  const float_denorm_style numeric_limits<unsigned char>::has_denorm;
157
  const bool numeric_limits<unsigned char>::has_denorm_loss;
158
  const bool numeric_limits<unsigned char>::is_iec559;
159
  const bool numeric_limits<unsigned char>::is_bounded;
160
  const bool numeric_limits<unsigned char>::is_modulo;
161
  const bool numeric_limits<unsigned char>::traps;
162
  const bool numeric_limits<unsigned char>::tinyness_before;
163
  const float_round_style numeric_limits<unsigned char>::round_style;
164
 
165
  // wchar_t
166
  // This used to be problematic...
167
#ifdef _GLIBCXX_USE_WCHAR_T  
168
  const bool numeric_limits<wchar_t>::is_specialized;
169
  const int  numeric_limits<wchar_t>::digits;
170
  const int  numeric_limits<wchar_t>::digits10;
171
  const int  numeric_limits<wchar_t>::max_digits10;
172
  const bool numeric_limits<wchar_t>::is_signed;
173
  const bool numeric_limits<wchar_t>::is_integer;
174
  const bool numeric_limits<wchar_t>::is_exact;
175
  const int  numeric_limits<wchar_t>::radix;
176
  const int  numeric_limits<wchar_t>::min_exponent;
177
  const int  numeric_limits<wchar_t>::min_exponent10;
178
  const int  numeric_limits<wchar_t>::max_exponent;
179
  const int  numeric_limits<wchar_t>::max_exponent10;
180
  const bool numeric_limits<wchar_t>::has_infinity;
181
  const bool numeric_limits<wchar_t>::has_quiet_NaN;
182
  const bool numeric_limits<wchar_t>::has_signaling_NaN;
183
  const float_denorm_style numeric_limits<wchar_t>::has_denorm;
184
  const bool numeric_limits<wchar_t>::has_denorm_loss;
185
  const bool numeric_limits<wchar_t>::is_iec559;
186
  const bool numeric_limits<wchar_t>::is_bounded;
187
  const bool numeric_limits<wchar_t>::is_modulo;
188
  const bool numeric_limits<wchar_t>::traps;
189
  const bool numeric_limits<wchar_t>::tinyness_before;
190
  const float_round_style numeric_limits<wchar_t>::round_style;
191
#endif // _GLIBCXX_USE_WCHAR_T
192
 
193
  // short
194
  const bool numeric_limits<short>::is_specialized;
195
  const int  numeric_limits<short>::digits;
196
  const int  numeric_limits<short>::digits10;
197
  const int  numeric_limits<short>::max_digits10;
198
  const bool numeric_limits<short>::is_signed;
199
  const bool numeric_limits<short>::is_integer;
200
  const bool numeric_limits<short>::is_exact;
201
  const int  numeric_limits<short>::radix;
202
  const int  numeric_limits<short>::min_exponent;
203
  const int  numeric_limits<short>::min_exponent10;
204
  const int  numeric_limits<short>::max_exponent;
205
  const int  numeric_limits<short>::max_exponent10;
206
  const bool numeric_limits<short>::has_infinity;
207
  const bool numeric_limits<short>::has_quiet_NaN;
208
  const bool numeric_limits<short>::has_signaling_NaN;
209
  const float_denorm_style numeric_limits<short>::has_denorm;
210
  const bool numeric_limits<short>::has_denorm_loss;
211
  const bool numeric_limits<short>::is_iec559;
212
  const bool numeric_limits<short>::is_bounded;
213
  const bool numeric_limits<short>::is_modulo;
214
  const bool numeric_limits<short>::traps;
215
  const bool numeric_limits<short>::tinyness_before;
216
  const float_round_style numeric_limits<short>::round_style;
217
 
218
  // unsigned short
219
  const bool numeric_limits<unsigned short>::is_specialized;
220
  const int  numeric_limits<unsigned short>::digits;
221
  const int  numeric_limits<unsigned short>::digits10;
222
  const int  numeric_limits<unsigned short>::max_digits10;
223
  const bool numeric_limits<unsigned short>::is_signed;
224
  const bool numeric_limits<unsigned short>::is_integer;
225
  const bool numeric_limits<unsigned short>::is_exact;
226
  const int  numeric_limits<unsigned short>::radix;
227
  const int  numeric_limits<unsigned short>::min_exponent;
228
  const int  numeric_limits<unsigned short>::min_exponent10;
229
  const int  numeric_limits<unsigned short>::max_exponent;
230
  const int  numeric_limits<unsigned short>::max_exponent10;
231
  const bool numeric_limits<unsigned short>::has_infinity;
232
  const bool numeric_limits<unsigned short>::has_quiet_NaN;
233
  const bool numeric_limits<unsigned short>::has_signaling_NaN;
234
  const float_denorm_style numeric_limits<unsigned short>::has_denorm;
235
  const bool numeric_limits<unsigned short>::has_denorm_loss;
236
  const bool numeric_limits<unsigned short>::is_iec559;
237
  const bool numeric_limits<unsigned short>::is_bounded;
238
  const bool numeric_limits<unsigned short>::is_modulo;
239
  const bool numeric_limits<unsigned short>::traps;
240
  const bool numeric_limits<unsigned short>::tinyness_before;
241
  const float_round_style numeric_limits<unsigned short>::round_style;
242
 
243
  // int
244
  const bool numeric_limits<int>::is_specialized;
245
  const int  numeric_limits<int>::digits;
246
  const int  numeric_limits<int>::digits10;
247
  const int  numeric_limits<int>::max_digits10;
248
  const bool numeric_limits<int>::is_signed;
249
  const bool numeric_limits<int>::is_integer;
250
  const bool numeric_limits<int>::is_exact;
251
  const int  numeric_limits<int>::radix;
252
  const int  numeric_limits<int>::min_exponent;
253
  const int  numeric_limits<int>::min_exponent10;
254
  const int  numeric_limits<int>::max_exponent;
255
  const int  numeric_limits<int>::max_exponent10;
256
  const bool numeric_limits<int>::has_infinity;
257
  const bool numeric_limits<int>::has_quiet_NaN;
258
  const bool numeric_limits<int>::has_signaling_NaN;
259
  const float_denorm_style numeric_limits<int>::has_denorm;
260
  const bool numeric_limits<int>::has_denorm_loss;
261
  const bool numeric_limits<int>::is_iec559;
262
  const bool numeric_limits<int>::is_bounded;
263
  const bool numeric_limits<int>::is_modulo;
264
  const bool numeric_limits<int>::traps;
265
  const bool numeric_limits<int>::tinyness_before;
266
  const float_round_style numeric_limits<int>::round_style;
267
 
268
  // unsigned int
269
  const bool numeric_limits<unsigned int>::is_specialized;
270
  const int  numeric_limits<unsigned int>::digits;
271
  const int  numeric_limits<unsigned int>::digits10;
272
  const int  numeric_limits<unsigned int>::max_digits10;
273
  const bool numeric_limits<unsigned int>::is_signed;
274
  const bool numeric_limits<unsigned int>::is_integer;
275
  const bool numeric_limits<unsigned int>::is_exact;
276
  const int  numeric_limits<unsigned int>::radix;
277
  const int  numeric_limits<unsigned int>::min_exponent;
278
  const int  numeric_limits<unsigned int>::min_exponent10;
279
  const int  numeric_limits<unsigned int>::max_exponent;
280
  const int  numeric_limits<unsigned int>::max_exponent10;
281
  const bool numeric_limits<unsigned int>::has_infinity;
282
  const bool numeric_limits<unsigned int>::has_quiet_NaN;
283
  const bool numeric_limits<unsigned int>::has_signaling_NaN;
284
  const float_denorm_style numeric_limits<unsigned int>::has_denorm;
285
  const bool numeric_limits<unsigned int>::has_denorm_loss;
286
  const bool numeric_limits<unsigned int>::is_iec559;
287
  const bool numeric_limits<unsigned int>::is_bounded;
288
  const bool numeric_limits<unsigned int>::is_modulo;
289
  const bool numeric_limits<unsigned int>::traps;
290
  const bool numeric_limits<unsigned int>::tinyness_before;
291
  const float_round_style numeric_limits<unsigned int>::round_style;
292
 
293
  // long
294
  const bool numeric_limits<long>::is_specialized;
295
  const int  numeric_limits<long>::digits;
296
  const int  numeric_limits<long>::digits10;
297
  const int  numeric_limits<long>::max_digits10;
298
  const bool numeric_limits<long>::is_signed;
299
  const bool numeric_limits<long>::is_integer;
300
  const bool numeric_limits<long>::is_exact;
301
  const int  numeric_limits<long>::radix;
302
  const int  numeric_limits<long>::min_exponent;
303
  const int  numeric_limits<long>::min_exponent10;
304
  const int  numeric_limits<long>::max_exponent;
305
  const int  numeric_limits<long>::max_exponent10;
306
  const bool numeric_limits<long>::has_infinity;
307
  const bool numeric_limits<long>::has_quiet_NaN;
308
  const bool numeric_limits<long>::has_signaling_NaN;
309
  const float_denorm_style numeric_limits<long>::has_denorm;
310
  const bool numeric_limits<long>::has_denorm_loss;
311
  const bool numeric_limits<long>::is_iec559;
312
  const bool numeric_limits<long>::is_bounded;
313
  const bool numeric_limits<long>::is_modulo;
314
  const bool numeric_limits<long>::traps;
315
  const bool numeric_limits<long>::tinyness_before;
316
  const float_round_style numeric_limits<long>::round_style;
317
 
318
  // unsigned long
319
  const bool numeric_limits<unsigned long>::is_specialized;
320
  const int  numeric_limits<unsigned long>::digits;
321
  const int  numeric_limits<unsigned long>::digits10;
322
  const int  numeric_limits<unsigned long>::max_digits10;
323
  const bool numeric_limits<unsigned long>::is_signed;
324
  const bool numeric_limits<unsigned long>::is_integer;
325
  const bool numeric_limits<unsigned long>::is_exact;
326
  const int  numeric_limits<unsigned long>::radix;
327
  const int  numeric_limits<unsigned long>::min_exponent;
328
  const int  numeric_limits<unsigned long>::min_exponent10;
329
  const int  numeric_limits<unsigned long>::max_exponent;
330
  const int  numeric_limits<unsigned long>::max_exponent10;
331
  const bool numeric_limits<unsigned long>::has_infinity;
332
  const bool numeric_limits<unsigned long>::has_quiet_NaN;
333
  const bool numeric_limits<unsigned long>::has_signaling_NaN;
334
  const float_denorm_style numeric_limits<unsigned long>::has_denorm;
335
  const bool numeric_limits<unsigned long>::has_denorm_loss;
336
  const bool numeric_limits<unsigned long>::is_iec559;
337
  const bool numeric_limits<unsigned long>::is_bounded;
338
  const bool numeric_limits<unsigned long>::is_modulo;
339
  const bool numeric_limits<unsigned long>::traps;
340
  const bool numeric_limits<unsigned long>::tinyness_before;
341
  const float_round_style numeric_limits<unsigned long>::round_style;
342
 
343
  // NOTA BENE:  long long is an extension
344
  const bool numeric_limits<long long>::is_specialized;
345
  const int  numeric_limits<long long>::digits;
346
  const int  numeric_limits<long long>::digits10;
347
  const int  numeric_limits<long long>::max_digits10;
348
  const bool numeric_limits<long long>::is_signed;
349
  const bool numeric_limits<long long>::is_integer;
350
  const bool numeric_limits<long long>::is_exact;
351
  const int  numeric_limits<long long>::radix;
352
  const int  numeric_limits<long long>::min_exponent;
353
  const int  numeric_limits<long long>::min_exponent10;
354
  const int  numeric_limits<long long>::max_exponent;
355
  const int  numeric_limits<long long>::max_exponent10;
356
  const bool numeric_limits<long long>::has_infinity;
357
  const bool numeric_limits<long long>::has_quiet_NaN;
358
  const bool numeric_limits<long long>::has_signaling_NaN;
359
  const float_denorm_style numeric_limits<long long>::has_denorm;
360
  const bool numeric_limits<long long>::has_denorm_loss;
361
  const bool numeric_limits<long long>::is_iec559;
362
  const bool numeric_limits<long long>::is_bounded;
363
  const bool numeric_limits<long long>::is_modulo;
364
  const bool numeric_limits<long long>::traps;
365
  const bool numeric_limits<long long>::tinyness_before;
366
  const float_round_style numeric_limits<long long>::round_style;
367
 
368
  const bool numeric_limits<unsigned long long>::is_specialized;
369
  const int  numeric_limits<unsigned long long>::digits;
370
  const int  numeric_limits<unsigned long long>::digits10;
371
  const int  numeric_limits<unsigned long long>::max_digits10;
372
  const bool numeric_limits<unsigned long long>::is_signed;
373
  const bool numeric_limits<unsigned long long>::is_integer;
374
  const bool numeric_limits<unsigned long long>::is_exact;
375
  const int  numeric_limits<unsigned long long>::radix;
376
  const int  numeric_limits<unsigned long long>::min_exponent;
377
  const int  numeric_limits<unsigned long long>::min_exponent10;
378
  const int  numeric_limits<unsigned long long>::max_exponent;
379
  const int  numeric_limits<unsigned long long>::max_exponent10;
380
  const bool numeric_limits<unsigned long long>::has_infinity;
381
  const bool numeric_limits<unsigned long long>::has_quiet_NaN;
382
  const bool numeric_limits<unsigned long long>::has_signaling_NaN;
383
  const float_denorm_style numeric_limits<unsigned long long>::has_denorm;
384
  const bool numeric_limits<unsigned long long>::has_denorm_loss;
385
  const bool numeric_limits<unsigned long long>::is_iec559;
386
  const bool numeric_limits<unsigned long long>::is_bounded;
387
  const bool numeric_limits<unsigned long long>::is_modulo;
388
  const bool numeric_limits<unsigned long long>::traps;
389
  const bool numeric_limits<unsigned long long>::tinyness_before;
390
  const float_round_style numeric_limits<unsigned long long>::round_style;
391
 
392
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
393
  const bool numeric_limits<__int128>::is_specialized;
394
  const int  numeric_limits<__int128>::digits;
395
  const int  numeric_limits<__int128>::digits10;
396
  const int  numeric_limits<__int128>::max_digits10;
397
  const bool numeric_limits<__int128>::is_signed;
398
  const bool numeric_limits<__int128>::is_integer;
399
  const bool numeric_limits<__int128>::is_exact;
400
  const int  numeric_limits<__int128>::radix;
401
  const int  numeric_limits<__int128>::min_exponent;
402
  const int  numeric_limits<__int128>::min_exponent10;
403
  const int  numeric_limits<__int128>::max_exponent;
404
  const int  numeric_limits<__int128>::max_exponent10;
405
  const bool numeric_limits<__int128>::has_infinity;
406
  const bool numeric_limits<__int128>::has_quiet_NaN;
407
  const bool numeric_limits<__int128>::has_signaling_NaN;
408
  const float_denorm_style numeric_limits<__int128>::has_denorm;
409
  const bool numeric_limits<__int128>::has_denorm_loss;
410
  const bool numeric_limits<__int128>::is_iec559;
411
  const bool numeric_limits<__int128>::is_bounded;
412
  const bool numeric_limits<__int128>::is_modulo;
413
  const bool numeric_limits<__int128>::traps;
414
  const bool numeric_limits<__int128>::tinyness_before;
415
  const float_round_style numeric_limits<__int128>::round_style;
416
 
417
  const bool numeric_limits<unsigned __int128>::is_specialized;
418
  const int  numeric_limits<unsigned __int128>::digits;
419
  const int  numeric_limits<unsigned __int128>::digits10;
420
  const int  numeric_limits<unsigned __int128>::max_digits10;
421
  const bool numeric_limits<unsigned __int128>::is_signed;
422
  const bool numeric_limits<unsigned __int128>::is_integer;
423
  const bool numeric_limits<unsigned __int128>::is_exact;
424
  const int  numeric_limits<unsigned __int128>::radix;
425
  const int  numeric_limits<unsigned __int128>::min_exponent;
426
  const int  numeric_limits<unsigned __int128>::min_exponent10;
427
  const int  numeric_limits<unsigned __int128>::max_exponent;
428
  const int  numeric_limits<unsigned __int128>::max_exponent10;
429
  const bool numeric_limits<unsigned __int128>::has_infinity;
430
  const bool numeric_limits<unsigned __int128>::has_quiet_NaN;
431
  const bool numeric_limits<unsigned __int128>::has_signaling_NaN;
432
  const float_denorm_style numeric_limits<unsigned __int128>::has_denorm;
433
  const bool numeric_limits<unsigned __int128>::has_denorm_loss;
434
  const bool numeric_limits<unsigned __int128>::is_iec559;
435
  const bool numeric_limits<unsigned __int128>::is_bounded;
436
  const bool numeric_limits<unsigned __int128>::is_modulo;
437
  const bool numeric_limits<unsigned __int128>::traps;
438
  const bool numeric_limits<unsigned __int128>::tinyness_before;
439
  const float_round_style numeric_limits<unsigned __int128>::round_style;
440
#endif
441
 
442
  // float
443
  const bool numeric_limits<float>::is_specialized;
444
  const int  numeric_limits<float>::digits;
445
  const int  numeric_limits<float>::digits10;
446
  const int  numeric_limits<float>::max_digits10;
447
  const bool numeric_limits<float>::is_signed;
448
  const bool numeric_limits<float>::is_integer;
449
  const bool numeric_limits<float>::is_exact;
450
  const int  numeric_limits<float>::radix;
451
  const int  numeric_limits<float>::min_exponent;
452
  const int  numeric_limits<float>::min_exponent10;
453
  const int  numeric_limits<float>::max_exponent;
454
  const int  numeric_limits<float>::max_exponent10;
455
  const bool numeric_limits<float>::has_infinity;
456
  const bool numeric_limits<float>::has_quiet_NaN;
457
  const bool numeric_limits<float>::has_signaling_NaN;
458
  const float_denorm_style numeric_limits<float>::has_denorm;
459
  const bool numeric_limits<float>::has_denorm_loss;
460
  const bool numeric_limits<float>::is_iec559;
461
  const bool numeric_limits<float>::is_bounded;
462
  const bool numeric_limits<float>::is_modulo;
463
  const bool numeric_limits<float>::traps;
464
  const bool numeric_limits<float>::tinyness_before;
465
  const float_round_style numeric_limits<float>::round_style;
466
 
467
  // double
468
  const bool numeric_limits<double>::is_specialized;
469
  const int  numeric_limits<double>::digits;
470
  const int  numeric_limits<double>::digits10;
471
  const int  numeric_limits<double>::max_digits10;
472
  const bool numeric_limits<double>::is_signed;
473
  const bool numeric_limits<double>::is_integer;
474
  const bool numeric_limits<double>::is_exact;
475
  const int  numeric_limits<double>::radix;
476
  const int  numeric_limits<double>::min_exponent;
477
  const int  numeric_limits<double>::min_exponent10;
478
  const int  numeric_limits<double>::max_exponent;
479
  const int  numeric_limits<double>::max_exponent10;
480
  const bool numeric_limits<double>::has_infinity;
481
  const bool numeric_limits<double>::has_quiet_NaN;
482
  const bool numeric_limits<double>::has_signaling_NaN;
483
  const float_denorm_style numeric_limits<double>::has_denorm;
484
  const bool numeric_limits<double>::has_denorm_loss;
485
  const bool numeric_limits<double>::is_iec559;
486
  const bool numeric_limits<double>::is_bounded;
487
  const bool numeric_limits<double>::is_modulo;
488
  const bool numeric_limits<double>::traps;
489
  const bool numeric_limits<double>::tinyness_before;
490
  const float_round_style numeric_limits<double>::round_style;
491
 
492
  // long double
493
  const bool numeric_limits<long double>::is_specialized;
494
  const int  numeric_limits<long double>::digits;
495
  const int  numeric_limits<long double>::digits10;
496
  const int  numeric_limits<long double>::max_digits10;
497
  const bool numeric_limits<long double>::is_signed;
498
  const bool numeric_limits<long double>::is_integer;
499
  const bool numeric_limits<long double>::is_exact;
500
  const int  numeric_limits<long double>::radix;
501
  const int  numeric_limits<long double>::min_exponent;
502
  const int  numeric_limits<long double>::min_exponent10;
503
  const int  numeric_limits<long double>::max_exponent;
504
  const int  numeric_limits<long double>::max_exponent10;
505
  const bool numeric_limits<long double>::has_infinity;
506
  const bool numeric_limits<long double>::has_quiet_NaN;
507
  const bool numeric_limits<long double>::has_signaling_NaN;
508
  const float_denorm_style numeric_limits<long double>::has_denorm;
509
  const bool numeric_limits<long double>::has_denorm_loss;
510
  const bool numeric_limits<long double>::is_iec559;
511
  const bool numeric_limits<long double>::is_bounded;
512
  const bool numeric_limits<long double>::is_modulo;
513
  const bool numeric_limits<long double>::traps;
514
  const bool numeric_limits<long double>::tinyness_before;
515
  const float_round_style numeric_limits<long double>::round_style;
516
 
517
  // char16_t
518
  const bool numeric_limits<char16_t>::is_specialized;
519
  const int  numeric_limits<char16_t>::digits;
520
  const int  numeric_limits<char16_t>::digits10;
521
  const int  numeric_limits<char16_t>::max_digits10;
522
  const bool numeric_limits<char16_t>::is_signed;
523
  const bool numeric_limits<char16_t>::is_integer;
524
  const bool numeric_limits<char16_t>::is_exact;
525
  const int  numeric_limits<char16_t>::radix;
526
  const int  numeric_limits<char16_t>::min_exponent;
527
  const int  numeric_limits<char16_t>::min_exponent10;
528
  const int  numeric_limits<char16_t>::max_exponent;
529
  const int  numeric_limits<char16_t>::max_exponent10;
530
  const bool numeric_limits<char16_t>::has_infinity;
531
  const bool numeric_limits<char16_t>::has_quiet_NaN;
532
  const bool numeric_limits<char16_t>::has_signaling_NaN;
533
  const float_denorm_style numeric_limits<char16_t>::has_denorm;
534
  const bool numeric_limits<char16_t>::has_denorm_loss;
535
  const bool numeric_limits<char16_t>::is_iec559;
536
  const bool numeric_limits<char16_t>::is_bounded;
537
  const bool numeric_limits<char16_t>::is_modulo;
538
  const bool numeric_limits<char16_t>::traps;
539
  const bool numeric_limits<char16_t>::tinyness_before;
540
  const float_round_style numeric_limits<char16_t>::round_style;
541
 
542
  // char32_t
543
  const bool numeric_limits<char32_t>::is_specialized;
544
  const int  numeric_limits<char32_t>::digits;
545
  const int  numeric_limits<char32_t>::digits10;
546
  const int  numeric_limits<char32_t>::max_digits10;
547
  const bool numeric_limits<char32_t>::is_signed;
548
  const bool numeric_limits<char32_t>::is_integer;
549
  const bool numeric_limits<char32_t>::is_exact;
550
  const int  numeric_limits<char32_t>::radix;
551
  const int  numeric_limits<char32_t>::min_exponent;
552
  const int  numeric_limits<char32_t>::min_exponent10;
553
  const int  numeric_limits<char32_t>::max_exponent;
554
  const int  numeric_limits<char32_t>::max_exponent10;
555
  const bool numeric_limits<char32_t>::has_infinity;
556
  const bool numeric_limits<char32_t>::has_quiet_NaN;
557
  const bool numeric_limits<char32_t>::has_signaling_NaN;
558
  const float_denorm_style numeric_limits<char32_t>::has_denorm;
559
  const bool numeric_limits<char32_t>::has_denorm_loss;
560
  const bool numeric_limits<char32_t>::is_iec559;
561
  const bool numeric_limits<char32_t>::is_bounded;
562
  const bool numeric_limits<char32_t>::is_modulo;
563
  const bool numeric_limits<char32_t>::traps;
564
  const bool numeric_limits<char32_t>::tinyness_before;
565
  const float_round_style numeric_limits<char32_t>::round_style;
566
 
567
#undef const
568
 
569
_GLIBCXX_END_NAMESPACE_VERSION
570
} // namespace
571
 
572
// XXX GLIBCXX_ABI Deprecated
573
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
574
 
575
#define _GLIBCXX_NUM_LIM_COMPAT(type, member, len) \
576
  extern "C" type _ZNSt14numeric_limitsIeE ## len ## member ## E \
577
  __attribute__ ((alias ("_ZNSt14numeric_limitsIdE" #len #member "E")))
578
_GLIBCXX_NUM_LIM_COMPAT (bool, is_specialized, 14);
579
_GLIBCXX_NUM_LIM_COMPAT (int, digits, 6);
580
_GLIBCXX_NUM_LIM_COMPAT (int, digits10, 8);
581
_GLIBCXX_NUM_LIM_COMPAT (bool, is_signed, 9);
582
_GLIBCXX_NUM_LIM_COMPAT (bool, is_integer, 10);
583
_GLIBCXX_NUM_LIM_COMPAT (bool, is_exact, 8);
584
_GLIBCXX_NUM_LIM_COMPAT (int, radix, 5);
585
_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent, 12);
586
_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent10, 14);
587
_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent, 12);
588
_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent10, 14);
589
_GLIBCXX_NUM_LIM_COMPAT (bool, has_infinity, 12);
590
_GLIBCXX_NUM_LIM_COMPAT (bool, has_quiet_NaN, 13);
591
_GLIBCXX_NUM_LIM_COMPAT (bool, has_signaling_NaN, 17);
592
_GLIBCXX_NUM_LIM_COMPAT (std::float_denorm_style, has_denorm, 10);
593
_GLIBCXX_NUM_LIM_COMPAT (bool, has_denorm_loss, 15);
594
_GLIBCXX_NUM_LIM_COMPAT (bool, is_iec559, 9);
595
_GLIBCXX_NUM_LIM_COMPAT (bool, is_bounded, 10);
596
_GLIBCXX_NUM_LIM_COMPAT (bool, is_modulo, 9);
597
_GLIBCXX_NUM_LIM_COMPAT (bool, traps, 5);
598
_GLIBCXX_NUM_LIM_COMPAT (bool, tinyness_before, 15);
599
_GLIBCXX_NUM_LIM_COMPAT (std::float_round_style, round_style, 11);
600
 
601
#endif // _GLIBCXX_LONG_DOUBLE_COMPAT

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.