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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [libstdc++-v3/] [src/] [limits.cc] - Blame information for rev 847

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

Line No. Rev Author Line
1 424 jeremybenn
// Static data members of -*- C++ -*- numeric_limits classes
2
 
3
// Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009, 2010
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
_GLIBCXX_BEGIN_NAMESPACE(std)
36
 
37
  const bool __numeric_limits_base::is_specialized;
38
  const int  __numeric_limits_base::digits;
39
  const int  __numeric_limits_base::digits10;
40
  const int  __numeric_limits_base::max_digits10;
41
  const bool __numeric_limits_base::is_signed;
42
  const bool __numeric_limits_base::is_integer;
43
  const bool __numeric_limits_base::is_exact;
44
  const int  __numeric_limits_base::radix;
45
  const int  __numeric_limits_base::min_exponent;
46
  const int  __numeric_limits_base::min_exponent10;
47
  const int  __numeric_limits_base::max_exponent;
48
  const int  __numeric_limits_base::max_exponent10;
49
  const bool __numeric_limits_base::has_infinity;
50
  const bool __numeric_limits_base::has_quiet_NaN;
51
  const bool __numeric_limits_base::has_signaling_NaN;
52
  const float_denorm_style __numeric_limits_base::has_denorm;
53
  const bool __numeric_limits_base::has_denorm_loss;
54
  const bool __numeric_limits_base::is_iec559;
55
  const bool __numeric_limits_base::is_bounded;
56
  const bool __numeric_limits_base::is_modulo;
57
  const bool __numeric_limits_base::traps;
58
  const bool __numeric_limits_base::tinyness_before;
59
  const float_round_style __numeric_limits_base::round_style;
60
 
61
  // bool
62
  const bool numeric_limits<bool>::is_specialized;
63
  const int  numeric_limits<bool>::digits;
64
  const int  numeric_limits<bool>::digits10;
65
  const int  numeric_limits<bool>::max_digits10;
66
  const bool numeric_limits<bool>::is_signed;
67
  const bool numeric_limits<bool>::is_integer;
68
  const bool numeric_limits<bool>::is_exact;
69
  const int  numeric_limits<bool>::radix;
70
  const int  numeric_limits<bool>::min_exponent;
71
  const int  numeric_limits<bool>::min_exponent10;
72
  const int  numeric_limits<bool>::max_exponent;
73
  const int  numeric_limits<bool>::max_exponent10;
74
  const bool numeric_limits<bool>::has_infinity;
75
  const bool numeric_limits<bool>::has_quiet_NaN;
76
  const bool numeric_limits<bool>::has_signaling_NaN;
77
  const float_denorm_style numeric_limits<bool>::has_denorm;
78
  const bool numeric_limits<bool>::has_denorm_loss;
79
  const bool numeric_limits<bool>::is_iec559;
80
  const bool numeric_limits<bool>::is_bounded;
81
  const bool numeric_limits<bool>::is_modulo;
82
  const bool numeric_limits<bool>::traps;
83
  const bool numeric_limits<bool>::tinyness_before;
84
  const float_round_style numeric_limits<bool>::round_style;
85
 
86
  // char
87
  const bool numeric_limits<char>::is_specialized;
88
  const int  numeric_limits<char>::digits;
89
  const int  numeric_limits<char>::digits10;
90
  const int  numeric_limits<char>::max_digits10;
91
  const bool numeric_limits<char>::is_signed;
92
  const bool numeric_limits<char>::is_integer;
93
  const bool numeric_limits<char>::is_exact;
94
  const int  numeric_limits<char>::radix;
95
  const int  numeric_limits<char>::min_exponent;
96
  const int  numeric_limits<char>::min_exponent10;
97
  const int  numeric_limits<char>::max_exponent;
98
  const int  numeric_limits<char>::max_exponent10;
99
  const bool numeric_limits<char>::has_infinity;
100
  const bool numeric_limits<char>::has_quiet_NaN;
101
  const bool numeric_limits<char>::has_signaling_NaN;
102
  const float_denorm_style numeric_limits<char>::has_denorm;
103
  const bool numeric_limits<char>::has_denorm_loss;
104
  const bool numeric_limits<char>::is_iec559;
105
  const bool numeric_limits<char>::is_bounded;
106
  const bool numeric_limits<char>::is_modulo;
107
  const bool numeric_limits<char>::traps;
108
  const bool numeric_limits<char>::tinyness_before;
109
  const float_round_style numeric_limits<char>::round_style;
110
 
111
  // signed char
112
  const bool numeric_limits<signed char>::is_specialized;
113
  const int  numeric_limits<signed char>::digits;
114
  const int  numeric_limits<signed char>::digits10;
115
  const int  numeric_limits<signed char>::max_digits10;
116
  const bool numeric_limits<signed char>::is_signed;
117
  const bool numeric_limits<signed char>::is_integer;
118
  const bool numeric_limits<signed char>::is_exact;
119
  const int  numeric_limits<signed char>::radix;
120
  const int  numeric_limits<signed char>::min_exponent;
121
  const int  numeric_limits<signed char>::min_exponent10;
122
  const int  numeric_limits<signed char>::max_exponent;
123
  const int  numeric_limits<signed char>::max_exponent10;
124
  const bool numeric_limits<signed char>::has_infinity;
125
  const bool numeric_limits<signed char>::has_quiet_NaN;
126
  const bool numeric_limits<signed char>::has_signaling_NaN;
127
  const float_denorm_style numeric_limits<signed char>::has_denorm;
128
  const bool numeric_limits<signed char>::has_denorm_loss;
129
  const bool numeric_limits<signed char>::is_iec559;
130
  const bool numeric_limits<signed char>::is_bounded;
131
  const bool numeric_limits<signed char>::is_modulo;
132
  const bool numeric_limits<signed char>::traps;
133
  const bool numeric_limits<signed char>::tinyness_before;
134
  const float_round_style numeric_limits<signed char>::round_style;
135
 
136
  // unsigned char
137
  const bool numeric_limits<unsigned char>::is_specialized;
138
  const int  numeric_limits<unsigned char>::digits;
139
  const int  numeric_limits<unsigned char>::digits10;
140
  const int  numeric_limits<unsigned char>::max_digits10;
141
  const bool numeric_limits<unsigned char>::is_signed;
142
  const bool numeric_limits<unsigned char>::is_integer;
143
  const bool numeric_limits<unsigned char>::is_exact;
144
  const int  numeric_limits<unsigned char>::radix;
145
  const int  numeric_limits<unsigned char>::min_exponent;
146
  const int  numeric_limits<unsigned char>::min_exponent10;
147
  const int  numeric_limits<unsigned char>::max_exponent;
148
  const int  numeric_limits<unsigned char>::max_exponent10;
149
  const bool numeric_limits<unsigned char>::has_infinity;
150
  const bool numeric_limits<unsigned char>::has_quiet_NaN;
151
  const bool numeric_limits<unsigned char>::has_signaling_NaN;
152
  const float_denorm_style numeric_limits<unsigned char>::has_denorm;
153
  const bool numeric_limits<unsigned char>::has_denorm_loss;
154
  const bool numeric_limits<unsigned char>::is_iec559;
155
  const bool numeric_limits<unsigned char>::is_bounded;
156
  const bool numeric_limits<unsigned char>::is_modulo;
157
  const bool numeric_limits<unsigned char>::traps;
158
  const bool numeric_limits<unsigned char>::tinyness_before;
159
  const float_round_style numeric_limits<unsigned char>::round_style;
160
 
161
  // wchar_t
162
  // This used to be problematic...
163
#ifdef _GLIBCXX_USE_WCHAR_T  
164
  const bool numeric_limits<wchar_t>::is_specialized;
165
  const int  numeric_limits<wchar_t>::digits;
166
  const int  numeric_limits<wchar_t>::digits10;
167
  const int  numeric_limits<wchar_t>::max_digits10;
168
  const bool numeric_limits<wchar_t>::is_signed;
169
  const bool numeric_limits<wchar_t>::is_integer;
170
  const bool numeric_limits<wchar_t>::is_exact;
171
  const int  numeric_limits<wchar_t>::radix;
172
  const int  numeric_limits<wchar_t>::min_exponent;
173
  const int  numeric_limits<wchar_t>::min_exponent10;
174
  const int  numeric_limits<wchar_t>::max_exponent;
175
  const int  numeric_limits<wchar_t>::max_exponent10;
176
  const bool numeric_limits<wchar_t>::has_infinity;
177
  const bool numeric_limits<wchar_t>::has_quiet_NaN;
178
  const bool numeric_limits<wchar_t>::has_signaling_NaN;
179
  const float_denorm_style numeric_limits<wchar_t>::has_denorm;
180
  const bool numeric_limits<wchar_t>::has_denorm_loss;
181
  const bool numeric_limits<wchar_t>::is_iec559;
182
  const bool numeric_limits<wchar_t>::is_bounded;
183
  const bool numeric_limits<wchar_t>::is_modulo;
184
  const bool numeric_limits<wchar_t>::traps;
185
  const bool numeric_limits<wchar_t>::tinyness_before;
186
  const float_round_style numeric_limits<wchar_t>::round_style;
187
#endif // _GLIBCXX_USE_WCHAR_T
188
 
189
  // short
190
  const bool numeric_limits<short>::is_specialized;
191
  const int  numeric_limits<short>::digits;
192
  const int  numeric_limits<short>::digits10;
193
  const int  numeric_limits<short>::max_digits10;
194
  const bool numeric_limits<short>::is_signed;
195
  const bool numeric_limits<short>::is_integer;
196
  const bool numeric_limits<short>::is_exact;
197
  const int  numeric_limits<short>::radix;
198
  const int  numeric_limits<short>::min_exponent;
199
  const int  numeric_limits<short>::min_exponent10;
200
  const int  numeric_limits<short>::max_exponent;
201
  const int  numeric_limits<short>::max_exponent10;
202
  const bool numeric_limits<short>::has_infinity;
203
  const bool numeric_limits<short>::has_quiet_NaN;
204
  const bool numeric_limits<short>::has_signaling_NaN;
205
  const float_denorm_style numeric_limits<short>::has_denorm;
206
  const bool numeric_limits<short>::has_denorm_loss;
207
  const bool numeric_limits<short>::is_iec559;
208
  const bool numeric_limits<short>::is_bounded;
209
  const bool numeric_limits<short>::is_modulo;
210
  const bool numeric_limits<short>::traps;
211
  const bool numeric_limits<short>::tinyness_before;
212
  const float_round_style numeric_limits<short>::round_style;
213
 
214
  // unsigned short
215
  const bool numeric_limits<unsigned short>::is_specialized;
216
  const int  numeric_limits<unsigned short>::digits;
217
  const int  numeric_limits<unsigned short>::digits10;
218
  const int  numeric_limits<unsigned short>::max_digits10;
219
  const bool numeric_limits<unsigned short>::is_signed;
220
  const bool numeric_limits<unsigned short>::is_integer;
221
  const bool numeric_limits<unsigned short>::is_exact;
222
  const int  numeric_limits<unsigned short>::radix;
223
  const int  numeric_limits<unsigned short>::min_exponent;
224
  const int  numeric_limits<unsigned short>::min_exponent10;
225
  const int  numeric_limits<unsigned short>::max_exponent;
226
  const int  numeric_limits<unsigned short>::max_exponent10;
227
  const bool numeric_limits<unsigned short>::has_infinity;
228
  const bool numeric_limits<unsigned short>::has_quiet_NaN;
229
  const bool numeric_limits<unsigned short>::has_signaling_NaN;
230
  const float_denorm_style numeric_limits<unsigned short>::has_denorm;
231
  const bool numeric_limits<unsigned short>::has_denorm_loss;
232
  const bool numeric_limits<unsigned short>::is_iec559;
233
  const bool numeric_limits<unsigned short>::is_bounded;
234
  const bool numeric_limits<unsigned short>::is_modulo;
235
  const bool numeric_limits<unsigned short>::traps;
236
  const bool numeric_limits<unsigned short>::tinyness_before;
237
  const float_round_style numeric_limits<unsigned short>::round_style;
238
 
239
  // int
240
  const bool numeric_limits<int>::is_specialized;
241
  const int  numeric_limits<int>::digits;
242
  const int  numeric_limits<int>::digits10;
243
  const int  numeric_limits<int>::max_digits10;
244
  const bool numeric_limits<int>::is_signed;
245
  const bool numeric_limits<int>::is_integer;
246
  const bool numeric_limits<int>::is_exact;
247
  const int  numeric_limits<int>::radix;
248
  const int  numeric_limits<int>::min_exponent;
249
  const int  numeric_limits<int>::min_exponent10;
250
  const int  numeric_limits<int>::max_exponent;
251
  const int  numeric_limits<int>::max_exponent10;
252
  const bool numeric_limits<int>::has_infinity;
253
  const bool numeric_limits<int>::has_quiet_NaN;
254
  const bool numeric_limits<int>::has_signaling_NaN;
255
  const float_denorm_style numeric_limits<int>::has_denorm;
256
  const bool numeric_limits<int>::has_denorm_loss;
257
  const bool numeric_limits<int>::is_iec559;
258
  const bool numeric_limits<int>::is_bounded;
259
  const bool numeric_limits<int>::is_modulo;
260
  const bool numeric_limits<int>::traps;
261
  const bool numeric_limits<int>::tinyness_before;
262
  const float_round_style numeric_limits<int>::round_style;
263
 
264
  // unsigned int
265
  const bool numeric_limits<unsigned int>::is_specialized;
266
  const int  numeric_limits<unsigned int>::digits;
267
  const int  numeric_limits<unsigned int>::digits10;
268
  const int  numeric_limits<unsigned int>::max_digits10;
269
  const bool numeric_limits<unsigned int>::is_signed;
270
  const bool numeric_limits<unsigned int>::is_integer;
271
  const bool numeric_limits<unsigned int>::is_exact;
272
  const int  numeric_limits<unsigned int>::radix;
273
  const int  numeric_limits<unsigned int>::min_exponent;
274
  const int  numeric_limits<unsigned int>::min_exponent10;
275
  const int  numeric_limits<unsigned int>::max_exponent;
276
  const int  numeric_limits<unsigned int>::max_exponent10;
277
  const bool numeric_limits<unsigned int>::has_infinity;
278
  const bool numeric_limits<unsigned int>::has_quiet_NaN;
279
  const bool numeric_limits<unsigned int>::has_signaling_NaN;
280
  const float_denorm_style numeric_limits<unsigned int>::has_denorm;
281
  const bool numeric_limits<unsigned int>::has_denorm_loss;
282
  const bool numeric_limits<unsigned int>::is_iec559;
283
  const bool numeric_limits<unsigned int>::is_bounded;
284
  const bool numeric_limits<unsigned int>::is_modulo;
285
  const bool numeric_limits<unsigned int>::traps;
286
  const bool numeric_limits<unsigned int>::tinyness_before;
287
  const float_round_style numeric_limits<unsigned int>::round_style;
288
 
289
  // long
290
  const bool numeric_limits<long>::is_specialized;
291
  const int  numeric_limits<long>::digits;
292
  const int  numeric_limits<long>::digits10;
293
  const int  numeric_limits<long>::max_digits10;
294
  const bool numeric_limits<long>::is_signed;
295
  const bool numeric_limits<long>::is_integer;
296
  const bool numeric_limits<long>::is_exact;
297
  const int  numeric_limits<long>::radix;
298
  const int  numeric_limits<long>::min_exponent;
299
  const int  numeric_limits<long>::min_exponent10;
300
  const int  numeric_limits<long>::max_exponent;
301
  const int  numeric_limits<long>::max_exponent10;
302
  const bool numeric_limits<long>::has_infinity;
303
  const bool numeric_limits<long>::has_quiet_NaN;
304
  const bool numeric_limits<long>::has_signaling_NaN;
305
  const float_denorm_style numeric_limits<long>::has_denorm;
306
  const bool numeric_limits<long>::has_denorm_loss;
307
  const bool numeric_limits<long>::is_iec559;
308
  const bool numeric_limits<long>::is_bounded;
309
  const bool numeric_limits<long>::is_modulo;
310
  const bool numeric_limits<long>::traps;
311
  const bool numeric_limits<long>::tinyness_before;
312
  const float_round_style numeric_limits<long>::round_style;
313
 
314
  // unsigned long
315
  const bool numeric_limits<unsigned long>::is_specialized;
316
  const int  numeric_limits<unsigned long>::digits;
317
  const int  numeric_limits<unsigned long>::digits10;
318
  const int  numeric_limits<unsigned long>::max_digits10;
319
  const bool numeric_limits<unsigned long>::is_signed;
320
  const bool numeric_limits<unsigned long>::is_integer;
321
  const bool numeric_limits<unsigned long>::is_exact;
322
  const int  numeric_limits<unsigned long>::radix;
323
  const int  numeric_limits<unsigned long>::min_exponent;
324
  const int  numeric_limits<unsigned long>::min_exponent10;
325
  const int  numeric_limits<unsigned long>::max_exponent;
326
  const int  numeric_limits<unsigned long>::max_exponent10;
327
  const bool numeric_limits<unsigned long>::has_infinity;
328
  const bool numeric_limits<unsigned long>::has_quiet_NaN;
329
  const bool numeric_limits<unsigned long>::has_signaling_NaN;
330
  const float_denorm_style numeric_limits<unsigned long>::has_denorm;
331
  const bool numeric_limits<unsigned long>::has_denorm_loss;
332
  const bool numeric_limits<unsigned long>::is_iec559;
333
  const bool numeric_limits<unsigned long>::is_bounded;
334
  const bool numeric_limits<unsigned long>::is_modulo;
335
  const bool numeric_limits<unsigned long>::traps;
336
  const bool numeric_limits<unsigned long>::tinyness_before;
337
  const float_round_style numeric_limits<unsigned long>::round_style;
338
 
339
  // NOTA BENE:  long long is an extension
340
  const bool numeric_limits<long long>::is_specialized;
341
  const int  numeric_limits<long long>::digits;
342
  const int  numeric_limits<long long>::digits10;
343
  const int  numeric_limits<long long>::max_digits10;
344
  const bool numeric_limits<long long>::is_signed;
345
  const bool numeric_limits<long long>::is_integer;
346
  const bool numeric_limits<long long>::is_exact;
347
  const int  numeric_limits<long long>::radix;
348
  const int  numeric_limits<long long>::min_exponent;
349
  const int  numeric_limits<long long>::min_exponent10;
350
  const int  numeric_limits<long long>::max_exponent;
351
  const int  numeric_limits<long long>::max_exponent10;
352
  const bool numeric_limits<long long>::has_infinity;
353
  const bool numeric_limits<long long>::has_quiet_NaN;
354
  const bool numeric_limits<long long>::has_signaling_NaN;
355
  const float_denorm_style numeric_limits<long long>::has_denorm;
356
  const bool numeric_limits<long long>::has_denorm_loss;
357
  const bool numeric_limits<long long>::is_iec559;
358
  const bool numeric_limits<long long>::is_bounded;
359
  const bool numeric_limits<long long>::is_modulo;
360
  const bool numeric_limits<long long>::traps;
361
  const bool numeric_limits<long long>::tinyness_before;
362
  const float_round_style numeric_limits<long long>::round_style;
363
 
364
  const bool numeric_limits<unsigned long long>::is_specialized;
365
  const int  numeric_limits<unsigned long long>::digits;
366
  const int  numeric_limits<unsigned long long>::digits10;
367
  const int  numeric_limits<unsigned long long>::max_digits10;
368
  const bool numeric_limits<unsigned long long>::is_signed;
369
  const bool numeric_limits<unsigned long long>::is_integer;
370
  const bool numeric_limits<unsigned long long>::is_exact;
371
  const int  numeric_limits<unsigned long long>::radix;
372
  const int  numeric_limits<unsigned long long>::min_exponent;
373
  const int  numeric_limits<unsigned long long>::min_exponent10;
374
  const int  numeric_limits<unsigned long long>::max_exponent;
375
  const int  numeric_limits<unsigned long long>::max_exponent10;
376
  const bool numeric_limits<unsigned long long>::has_infinity;
377
  const bool numeric_limits<unsigned long long>::has_quiet_NaN;
378
  const bool numeric_limits<unsigned long long>::has_signaling_NaN;
379
  const float_denorm_style numeric_limits<unsigned long long>::has_denorm;
380
  const bool numeric_limits<unsigned long long>::has_denorm_loss;
381
  const bool numeric_limits<unsigned long long>::is_iec559;
382
  const bool numeric_limits<unsigned long long>::is_bounded;
383
  const bool numeric_limits<unsigned long long>::is_modulo;
384
  const bool numeric_limits<unsigned long long>::traps;
385
  const bool numeric_limits<unsigned long long>::tinyness_before;
386
  const float_round_style numeric_limits<unsigned long long>::round_style;
387
 
388
  // float
389
  const bool numeric_limits<float>::is_specialized;
390
  const int  numeric_limits<float>::digits;
391
  const int  numeric_limits<float>::digits10;
392
  const int  numeric_limits<float>::max_digits10;
393
  const bool numeric_limits<float>::is_signed;
394
  const bool numeric_limits<float>::is_integer;
395
  const bool numeric_limits<float>::is_exact;
396
  const int  numeric_limits<float>::radix;
397
  const int  numeric_limits<float>::min_exponent;
398
  const int  numeric_limits<float>::min_exponent10;
399
  const int  numeric_limits<float>::max_exponent;
400
  const int  numeric_limits<float>::max_exponent10;
401
  const bool numeric_limits<float>::has_infinity;
402
  const bool numeric_limits<float>::has_quiet_NaN;
403
  const bool numeric_limits<float>::has_signaling_NaN;
404
  const float_denorm_style numeric_limits<float>::has_denorm;
405
  const bool numeric_limits<float>::has_denorm_loss;
406
  const bool numeric_limits<float>::is_iec559;
407
  const bool numeric_limits<float>::is_bounded;
408
  const bool numeric_limits<float>::is_modulo;
409
  const bool numeric_limits<float>::traps;
410
  const bool numeric_limits<float>::tinyness_before;
411
  const float_round_style numeric_limits<float>::round_style;
412
 
413
  // double
414
  const bool numeric_limits<double>::is_specialized;
415
  const int  numeric_limits<double>::digits;
416
  const int  numeric_limits<double>::digits10;
417
  const int  numeric_limits<double>::max_digits10;
418
  const bool numeric_limits<double>::is_signed;
419
  const bool numeric_limits<double>::is_integer;
420
  const bool numeric_limits<double>::is_exact;
421
  const int  numeric_limits<double>::radix;
422
  const int  numeric_limits<double>::min_exponent;
423
  const int  numeric_limits<double>::min_exponent10;
424
  const int  numeric_limits<double>::max_exponent;
425
  const int  numeric_limits<double>::max_exponent10;
426
  const bool numeric_limits<double>::has_infinity;
427
  const bool numeric_limits<double>::has_quiet_NaN;
428
  const bool numeric_limits<double>::has_signaling_NaN;
429
  const float_denorm_style numeric_limits<double>::has_denorm;
430
  const bool numeric_limits<double>::has_denorm_loss;
431
  const bool numeric_limits<double>::is_iec559;
432
  const bool numeric_limits<double>::is_bounded;
433
  const bool numeric_limits<double>::is_modulo;
434
  const bool numeric_limits<double>::traps;
435
  const bool numeric_limits<double>::tinyness_before;
436
  const float_round_style numeric_limits<double>::round_style;
437
 
438
  // long double
439
  const bool numeric_limits<long double>::is_specialized;
440
  const int  numeric_limits<long double>::digits;
441
  const int  numeric_limits<long double>::digits10;
442
  const int  numeric_limits<long double>::max_digits10;
443
  const bool numeric_limits<long double>::is_signed;
444
  const bool numeric_limits<long double>::is_integer;
445
  const bool numeric_limits<long double>::is_exact;
446
  const int  numeric_limits<long double>::radix;
447
  const int  numeric_limits<long double>::min_exponent;
448
  const int  numeric_limits<long double>::min_exponent10;
449
  const int  numeric_limits<long double>::max_exponent;
450
  const int  numeric_limits<long double>::max_exponent10;
451
  const bool numeric_limits<long double>::has_infinity;
452
  const bool numeric_limits<long double>::has_quiet_NaN;
453
  const bool numeric_limits<long double>::has_signaling_NaN;
454
  const float_denorm_style numeric_limits<long double>::has_denorm;
455
  const bool numeric_limits<long double>::has_denorm_loss;
456
  const bool numeric_limits<long double>::is_iec559;
457
  const bool numeric_limits<long double>::is_bounded;
458
  const bool numeric_limits<long double>::is_modulo;
459
  const bool numeric_limits<long double>::traps;
460
  const bool numeric_limits<long double>::tinyness_before;
461
  const float_round_style numeric_limits<long double>::round_style;
462
 
463
  // char16_t
464
  const bool numeric_limits<char16_t>::is_specialized;
465
  const int  numeric_limits<char16_t>::digits;
466
  const int  numeric_limits<char16_t>::digits10;
467
  const int  numeric_limits<char16_t>::max_digits10;
468
  const bool numeric_limits<char16_t>::is_signed;
469
  const bool numeric_limits<char16_t>::is_integer;
470
  const bool numeric_limits<char16_t>::is_exact;
471
  const int  numeric_limits<char16_t>::radix;
472
  const int  numeric_limits<char16_t>::min_exponent;
473
  const int  numeric_limits<char16_t>::min_exponent10;
474
  const int  numeric_limits<char16_t>::max_exponent;
475
  const int  numeric_limits<char16_t>::max_exponent10;
476
  const bool numeric_limits<char16_t>::has_infinity;
477
  const bool numeric_limits<char16_t>::has_quiet_NaN;
478
  const bool numeric_limits<char16_t>::has_signaling_NaN;
479
  const float_denorm_style numeric_limits<char16_t>::has_denorm;
480
  const bool numeric_limits<char16_t>::has_denorm_loss;
481
  const bool numeric_limits<char16_t>::is_iec559;
482
  const bool numeric_limits<char16_t>::is_bounded;
483
  const bool numeric_limits<char16_t>::is_modulo;
484
  const bool numeric_limits<char16_t>::traps;
485
  const bool numeric_limits<char16_t>::tinyness_before;
486
  const float_round_style numeric_limits<char16_t>::round_style;
487
 
488
  // char32_t
489
  const bool numeric_limits<char32_t>::is_specialized;
490
  const int  numeric_limits<char32_t>::digits;
491
  const int  numeric_limits<char32_t>::digits10;
492
  const int  numeric_limits<char32_t>::max_digits10;
493
  const bool numeric_limits<char32_t>::is_signed;
494
  const bool numeric_limits<char32_t>::is_integer;
495
  const bool numeric_limits<char32_t>::is_exact;
496
  const int  numeric_limits<char32_t>::radix;
497
  const int  numeric_limits<char32_t>::min_exponent;
498
  const int  numeric_limits<char32_t>::min_exponent10;
499
  const int  numeric_limits<char32_t>::max_exponent;
500
  const int  numeric_limits<char32_t>::max_exponent10;
501
  const bool numeric_limits<char32_t>::has_infinity;
502
  const bool numeric_limits<char32_t>::has_quiet_NaN;
503
  const bool numeric_limits<char32_t>::has_signaling_NaN;
504
  const float_denorm_style numeric_limits<char32_t>::has_denorm;
505
  const bool numeric_limits<char32_t>::has_denorm_loss;
506
  const bool numeric_limits<char32_t>::is_iec559;
507
  const bool numeric_limits<char32_t>::is_bounded;
508
  const bool numeric_limits<char32_t>::is_modulo;
509
  const bool numeric_limits<char32_t>::traps;
510
  const bool numeric_limits<char32_t>::tinyness_before;
511
  const float_round_style numeric_limits<char32_t>::round_style;
512
 
513
_GLIBCXX_END_NAMESPACE
514
 
515
// XXX GLIBCXX_ABI Deprecated
516
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
517
 
518
#define _GLIBCXX_NUM_LIM_COMPAT(type, member, len) \
519
  extern "C" type _ZNSt14numeric_limitsIeE ## len ## member ## E \
520
  __attribute__ ((alias ("_ZNSt14numeric_limitsIdE" #len #member "E")))
521
_GLIBCXX_NUM_LIM_COMPAT (bool, is_specialized, 14);
522
_GLIBCXX_NUM_LIM_COMPAT (int, digits, 6);
523
_GLIBCXX_NUM_LIM_COMPAT (int, digits10, 8);
524
_GLIBCXX_NUM_LIM_COMPAT (bool, is_signed, 9);
525
_GLIBCXX_NUM_LIM_COMPAT (bool, is_integer, 10);
526
_GLIBCXX_NUM_LIM_COMPAT (bool, is_exact, 8);
527
_GLIBCXX_NUM_LIM_COMPAT (int, radix, 5);
528
_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent, 12);
529
_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent10, 14);
530
_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent, 12);
531
_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent10, 14);
532
_GLIBCXX_NUM_LIM_COMPAT (bool, has_infinity, 12);
533
_GLIBCXX_NUM_LIM_COMPAT (bool, has_quiet_NaN, 13);
534
_GLIBCXX_NUM_LIM_COMPAT (bool, has_signaling_NaN, 17);
535
_GLIBCXX_NUM_LIM_COMPAT (std::float_denorm_style, has_denorm, 10);
536
_GLIBCXX_NUM_LIM_COMPAT (bool, has_denorm_loss, 15);
537
_GLIBCXX_NUM_LIM_COMPAT (bool, is_iec559, 9);
538
_GLIBCXX_NUM_LIM_COMPAT (bool, is_bounded, 10);
539
_GLIBCXX_NUM_LIM_COMPAT (bool, is_modulo, 9);
540
_GLIBCXX_NUM_LIM_COMPAT (bool, traps, 5);
541
_GLIBCXX_NUM_LIM_COMPAT (bool, tinyness_before, 15);
542
_GLIBCXX_NUM_LIM_COMPAT (std::float_round_style, round_style, 11);
543
 
544
#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.