00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include <limits>
00038
00039 namespace std
00040 {
00041 const bool __numeric_limits_base::is_specialized;
00042 const int __numeric_limits_base::digits;
00043 const int __numeric_limits_base::digits10;
00044 const bool __numeric_limits_base::is_signed;
00045 const bool __numeric_limits_base::is_integer;
00046 const bool __numeric_limits_base::is_exact;
00047 const int __numeric_limits_base::radix;
00048 const int __numeric_limits_base::min_exponent;
00049 const int __numeric_limits_base::min_exponent10;
00050 const int __numeric_limits_base::max_exponent;
00051 const int __numeric_limits_base::max_exponent10;
00052 const bool __numeric_limits_base::has_infinity;
00053 const bool __numeric_limits_base::has_quiet_NaN;
00054 const bool __numeric_limits_base::has_signaling_NaN;
00055 const float_denorm_style __numeric_limits_base::has_denorm;
00056 const bool __numeric_limits_base::has_denorm_loss;
00057 const bool __numeric_limits_base::is_iec559;
00058 const bool __numeric_limits_base::is_bounded;
00059 const bool __numeric_limits_base::is_modulo;
00060 const bool __numeric_limits_base::traps;
00061 const bool __numeric_limits_base::tinyness_before;
00062 const float_round_style __numeric_limits_base::round_style;
00063
00064
00065 const bool numeric_limits<bool>::is_specialized;
00066 const int numeric_limits<bool>::digits;
00067 const int numeric_limits<bool>::digits10;
00068 const bool numeric_limits<bool>::is_signed;
00069 const bool numeric_limits<bool>::is_integer;
00070 const bool numeric_limits<bool>::is_exact;
00071 const int numeric_limits<bool>::radix;
00072 const int numeric_limits<bool>::min_exponent;
00073 const int numeric_limits<bool>::min_exponent10;
00074 const int numeric_limits<bool>::max_exponent;
00075 const int numeric_limits<bool>::max_exponent10;
00076 const bool numeric_limits<bool>::has_infinity;
00077 const bool numeric_limits<bool>::has_quiet_NaN;
00078 const bool numeric_limits<bool>::has_signaling_NaN;
00079 const float_denorm_style numeric_limits<bool>::has_denorm;
00080 const bool numeric_limits<bool>::has_denorm_loss;
00081 const bool numeric_limits<bool>::is_iec559;
00082 const bool numeric_limits<bool>::is_bounded;
00083 const bool numeric_limits<bool>::is_modulo;
00084 const bool numeric_limits<bool>::traps;
00085 const bool numeric_limits<bool>::tinyness_before;
00086 const float_round_style numeric_limits<bool>::round_style;
00087
00088
00089 const bool numeric_limits<char>::is_specialized;
00090 const int numeric_limits<char>::digits;
00091 const int numeric_limits<char>::digits10;
00092 const bool numeric_limits<char>::is_signed;
00093 const bool numeric_limits<char>::is_integer;
00094 const bool numeric_limits<char>::is_exact;
00095 const int numeric_limits<char>::radix;
00096 const int numeric_limits<char>::min_exponent;
00097 const int numeric_limits<char>::min_exponent10;
00098 const int numeric_limits<char>::max_exponent;
00099 const int numeric_limits<char>::max_exponent10;
00100 const bool numeric_limits<char>::has_infinity;
00101 const bool numeric_limits<char>::has_quiet_NaN;
00102 const bool numeric_limits<char>::has_signaling_NaN;
00103 const float_denorm_style numeric_limits<char>::has_denorm;
00104 const bool numeric_limits<char>::has_denorm_loss;
00105 const bool numeric_limits<char>::is_iec559;
00106 const bool numeric_limits<char>::is_bounded;
00107 const bool numeric_limits<char>::is_modulo;
00108 const bool numeric_limits<char>::traps;
00109 const bool numeric_limits<char>::tinyness_before;
00110 const float_round_style numeric_limits<char>::round_style;
00111
00112
00113 const bool numeric_limits<signed char>::is_specialized;
00114 const int numeric_limits<signed char>::digits;
00115 const int numeric_limits<signed char>::digits10;
00116 const bool numeric_limits<signed char>::is_signed;
00117 const bool numeric_limits<signed char>::is_integer;
00118 const bool numeric_limits<signed char>::is_exact;
00119 const int numeric_limits<signed char>::radix;
00120 const int numeric_limits<signed char>::min_exponent;
00121 const int numeric_limits<signed char>::min_exponent10;
00122 const int numeric_limits<signed char>::max_exponent;
00123 const int numeric_limits<signed char>::max_exponent10;
00124 const bool numeric_limits<signed char>::has_infinity;
00125 const bool numeric_limits<signed char>::has_quiet_NaN;
00126 const bool numeric_limits<signed char>::has_signaling_NaN;
00127 const float_denorm_style numeric_limits<signed char>::has_denorm;
00128 const bool numeric_limits<signed char>::has_denorm_loss;
00129 const bool numeric_limits<signed char>::is_iec559;
00130 const bool numeric_limits<signed char>::is_bounded;
00131 const bool numeric_limits<signed char>::is_modulo;
00132 const bool numeric_limits<signed char>::traps;
00133 const bool numeric_limits<signed char>::tinyness_before;
00134 const float_round_style numeric_limits<signed char>::round_style;
00135
00136
00137 const bool numeric_limits<unsigned char>::is_specialized;
00138 const int numeric_limits<unsigned char>::digits;
00139 const int numeric_limits<unsigned char>::digits10;
00140 const bool numeric_limits<unsigned char>::is_signed;
00141 const bool numeric_limits<unsigned char>::is_integer;
00142 const bool numeric_limits<unsigned char>::is_exact;
00143 const int numeric_limits<unsigned char>::radix;
00144 const int numeric_limits<unsigned char>::min_exponent;
00145 const int numeric_limits<unsigned char>::min_exponent10;
00146 const int numeric_limits<unsigned char>::max_exponent;
00147 const int numeric_limits<unsigned char>::max_exponent10;
00148 const bool numeric_limits<unsigned char>::has_infinity;
00149 const bool numeric_limits<unsigned char>::has_quiet_NaN;
00150 const bool numeric_limits<unsigned char>::has_signaling_NaN;
00151 const float_denorm_style numeric_limits<unsigned char>::has_denorm;
00152 const bool numeric_limits<unsigned char>::has_denorm_loss;
00153 const bool numeric_limits<unsigned char>::is_iec559;
00154 const bool numeric_limits<unsigned char>::is_bounded;
00155 const bool numeric_limits<unsigned char>::is_modulo;
00156 const bool numeric_limits<unsigned char>::traps;
00157 const bool numeric_limits<unsigned char>::tinyness_before;
00158 const float_round_style numeric_limits<unsigned char>::round_style;
00159
00160
00161
00162 #ifdef _GLIBCPP_USE_WCHAR_T
00163 const bool numeric_limits<wchar_t>::is_specialized;
00164 const int numeric_limits<wchar_t>::digits;
00165 const int numeric_limits<wchar_t>::digits10;
00166 const bool numeric_limits<wchar_t>::is_signed;
00167 const bool numeric_limits<wchar_t>::is_integer;
00168 const bool numeric_limits<wchar_t>::is_exact;
00169 const int numeric_limits<wchar_t>::radix;
00170 const int numeric_limits<wchar_t>::min_exponent;
00171 const int numeric_limits<wchar_t>::min_exponent10;
00172 const int numeric_limits<wchar_t>::max_exponent;
00173 const int numeric_limits<wchar_t>::max_exponent10;
00174 const bool numeric_limits<wchar_t>::has_infinity;
00175 const bool numeric_limits<wchar_t>::has_quiet_NaN;
00176 const bool numeric_limits<wchar_t>::has_signaling_NaN;
00177 const float_denorm_style numeric_limits<wchar_t>::has_denorm;
00178 const bool numeric_limits<wchar_t>::has_denorm_loss;
00179 const bool numeric_limits<wchar_t>::is_iec559;
00180 const bool numeric_limits<wchar_t>::is_bounded;
00181 const bool numeric_limits<wchar_t>::is_modulo;
00182 const bool numeric_limits<wchar_t>::traps;
00183 const bool numeric_limits<wchar_t>::tinyness_before;
00184 const float_round_style numeric_limits<wchar_t>::round_style;
00185 #endif // _GLIBCPP_USE_WCHAR_T
00186
00187
00188 const bool numeric_limits<short>::is_specialized;
00189 const int numeric_limits<short>::digits;
00190 const int numeric_limits<short>::digits10;
00191 const bool numeric_limits<short>::is_signed;
00192 const bool numeric_limits<short>::is_integer;
00193 const bool numeric_limits<short>::is_exact;
00194 const int numeric_limits<short>::radix;
00195 const int numeric_limits<short>::min_exponent;
00196 const int numeric_limits<short>::min_exponent10;
00197 const int numeric_limits<short>::max_exponent;
00198 const int numeric_limits<short>::max_exponent10;
00199 const bool numeric_limits<short>::has_infinity;
00200 const bool numeric_limits<short>::has_quiet_NaN;
00201 const bool numeric_limits<short>::has_signaling_NaN;
00202 const float_denorm_style numeric_limits<short>::has_denorm;
00203 const bool numeric_limits<short>::has_denorm_loss;
00204 const bool numeric_limits<short>::is_iec559;
00205 const bool numeric_limits<short>::is_bounded;
00206 const bool numeric_limits<short>::is_modulo;
00207 const bool numeric_limits<short>::traps;
00208 const bool numeric_limits<short>::tinyness_before;
00209 const float_round_style numeric_limits<short>::round_style;
00210
00211
00212 const bool numeric_limits<unsigned short>::is_specialized;
00213 const int numeric_limits<unsigned short>::digits;
00214 const int numeric_limits<unsigned short>::digits10;
00215 const bool numeric_limits<unsigned short>::is_signed;
00216 const bool numeric_limits<unsigned short>::is_integer;
00217 const bool numeric_limits<unsigned short>::is_exact;
00218 const int numeric_limits<unsigned short>::radix;
00219 const int numeric_limits<unsigned short>::min_exponent;
00220 const int numeric_limits<unsigned short>::min_exponent10;
00221 const int numeric_limits<unsigned short>::max_exponent;
00222 const int numeric_limits<unsigned short>::max_exponent10;
00223 const bool numeric_limits<unsigned short>::has_infinity;
00224 const bool numeric_limits<unsigned short>::has_quiet_NaN;
00225 const bool numeric_limits<unsigned short>::has_signaling_NaN;
00226 const float_denorm_style numeric_limits<unsigned short>::has_denorm;
00227 const bool numeric_limits<unsigned short>::has_denorm_loss;
00228 const bool numeric_limits<unsigned short>::is_iec559;
00229 const bool numeric_limits<unsigned short>::is_bounded;
00230 const bool numeric_limits<unsigned short>::is_modulo;
00231 const bool numeric_limits<unsigned short>::traps;
00232 const bool numeric_limits<unsigned short>::tinyness_before;
00233 const float_round_style numeric_limits<unsigned short>::round_style;
00234
00235
00236 const bool numeric_limits<int>::is_specialized;
00237 const int numeric_limits<int>::digits;
00238 const int numeric_limits<int>::digits10;
00239 const bool numeric_limits<int>::is_signed;
00240 const bool numeric_limits<int>::is_integer;
00241 const bool numeric_limits<int>::is_exact;
00242 const int numeric_limits<int>::radix;
00243 const int numeric_limits<int>::min_exponent;
00244 const int numeric_limits<int>::min_exponent10;
00245 const int numeric_limits<int>::max_exponent;
00246 const int numeric_limits<int>::max_exponent10;
00247 const bool numeric_limits<int>::has_infinity;
00248 const bool numeric_limits<int>::has_quiet_NaN;
00249 const bool numeric_limits<int>::has_signaling_NaN;
00250 const float_denorm_style numeric_limits<int>::has_denorm;
00251 const bool numeric_limits<int>::has_denorm_loss;
00252 const bool numeric_limits<int>::is_iec559;
00253 const bool numeric_limits<int>::is_bounded;
00254 const bool numeric_limits<int>::is_modulo;
00255 const bool numeric_limits<int>::traps;
00256 const bool numeric_limits<int>::tinyness_before;
00257 const float_round_style numeric_limits<int>::round_style;
00258
00259
00260 const bool numeric_limits<unsigned int>::is_specialized;
00261 const int numeric_limits<unsigned int>::digits;
00262 const int numeric_limits<unsigned int>::digits10;
00263 const bool numeric_limits<unsigned int>::is_signed;
00264 const bool numeric_limits<unsigned int>::is_integer;
00265 const bool numeric_limits<unsigned int>::is_exact;
00266 const int numeric_limits<unsigned int>::radix;
00267 const int numeric_limits<unsigned int>::min_exponent;
00268 const int numeric_limits<unsigned int>::min_exponent10;
00269 const int numeric_limits<unsigned int>::max_exponent;
00270 const int numeric_limits<unsigned int>::max_exponent10;
00271 const bool numeric_limits<unsigned int>::has_infinity;
00272 const bool numeric_limits<unsigned int>::has_quiet_NaN;
00273 const bool numeric_limits<unsigned int>::has_signaling_NaN;
00274 const float_denorm_style numeric_limits<unsigned int>::has_denorm;
00275 const bool numeric_limits<unsigned int>::has_denorm_loss;
00276 const bool numeric_limits<unsigned int>::is_iec559;
00277 const bool numeric_limits<unsigned int>::is_bounded;
00278 const bool numeric_limits<unsigned int>::is_modulo;
00279 const bool numeric_limits<unsigned int>::traps;
00280 const bool numeric_limits<unsigned int>::tinyness_before;
00281 const float_round_style numeric_limits<unsigned int>::round_style;
00282
00283
00284 const bool numeric_limits<long>::is_specialized;
00285 const int numeric_limits<long>::digits;
00286 const int numeric_limits<long>::digits10;
00287 const bool numeric_limits<long>::is_signed;
00288 const bool numeric_limits<long>::is_integer;
00289 const bool numeric_limits<long>::is_exact;
00290 const int numeric_limits<long>::radix;
00291 const int numeric_limits<long>::min_exponent;
00292 const int numeric_limits<long>::min_exponent10;
00293 const int numeric_limits<long>::max_exponent;
00294 const int numeric_limits<long>::max_exponent10;
00295 const bool numeric_limits<long>::has_infinity;
00296 const bool numeric_limits<long>::has_quiet_NaN;
00297 const bool numeric_limits<long>::has_signaling_NaN;
00298 const float_denorm_style numeric_limits<long>::has_denorm;
00299 const bool numeric_limits<long>::has_denorm_loss;
00300 const bool numeric_limits<long>::is_iec559;
00301 const bool numeric_limits<long>::is_bounded;
00302 const bool numeric_limits<long>::is_modulo;
00303 const bool numeric_limits<long>::traps;
00304 const bool numeric_limits<long>::tinyness_before;
00305 const float_round_style numeric_limits<long>::round_style;
00306
00307
00308 const bool numeric_limits<unsigned long>::is_specialized;
00309 const int numeric_limits<unsigned long>::digits;
00310 const int numeric_limits<unsigned long>::digits10;
00311 const bool numeric_limits<unsigned long>::is_signed;
00312 const bool numeric_limits<unsigned long>::is_integer;
00313 const bool numeric_limits<unsigned long>::is_exact;
00314 const int numeric_limits<unsigned long>::radix;
00315 const int numeric_limits<unsigned long>::min_exponent;
00316 const int numeric_limits<unsigned long>::min_exponent10;
00317 const int numeric_limits<unsigned long>::max_exponent;
00318 const int numeric_limits<unsigned long>::max_exponent10;
00319 const bool numeric_limits<unsigned long>::has_infinity;
00320 const bool numeric_limits<unsigned long>::has_quiet_NaN;
00321 const bool numeric_limits<unsigned long>::has_signaling_NaN;
00322 const float_denorm_style numeric_limits<unsigned long>::has_denorm;
00323 const bool numeric_limits<unsigned long>::has_denorm_loss;
00324 const bool numeric_limits<unsigned long>::is_iec559;
00325 const bool numeric_limits<unsigned long>::is_bounded;
00326 const bool numeric_limits<unsigned long>::is_modulo;
00327 const bool numeric_limits<unsigned long>::traps;
00328 const bool numeric_limits<unsigned long>::tinyness_before;
00329 const float_round_style numeric_limits<unsigned long>::round_style;
00330
00331
00332 const bool numeric_limits<long long>::is_specialized;
00333 const int numeric_limits<long long>::digits;
00334 const int numeric_limits<long long>::digits10;
00335 const bool numeric_limits<long long>::is_signed;
00336 const bool numeric_limits<long long>::is_integer;
00337 const bool numeric_limits<long long>::is_exact;
00338 const int numeric_limits<long long>::radix;
00339 const int numeric_limits<long long>::min_exponent;
00340 const int numeric_limits<long long>::min_exponent10;
00341 const int numeric_limits<long long>::max_exponent;
00342 const int numeric_limits<long long>::max_exponent10;
00343 const bool numeric_limits<long long>::has_infinity;
00344 const bool numeric_limits<long long>::has_quiet_NaN;
00345 const bool numeric_limits<long long>::has_signaling_NaN;
00346 const float_denorm_style numeric_limits<long long>::has_denorm;
00347 const bool numeric_limits<long long>::has_denorm_loss;
00348 const bool numeric_limits<long long>::is_iec559;
00349 const bool numeric_limits<long long>::is_bounded;
00350 const bool numeric_limits<long long>::is_modulo;
00351 const bool numeric_limits<long long>::traps;
00352 const bool numeric_limits<long long>::tinyness_before;
00353 const float_round_style numeric_limits<long long>::round_style;
00354
00355 const bool numeric_limits<unsigned long long>::is_specialized;
00356 const int numeric_limits<unsigned long long>::digits;
00357 const int numeric_limits<unsigned long long>::digits10;
00358 const bool numeric_limits<unsigned long long>::is_signed;
00359 const bool numeric_limits<unsigned long long>::is_integer;
00360 const bool numeric_limits<unsigned long long>::is_exact;
00361 const int numeric_limits<unsigned long long>::radix;
00362 const int numeric_limits<unsigned long long>::min_exponent;
00363 const int numeric_limits<unsigned long long>::min_exponent10;
00364 const int numeric_limits<unsigned long long>::max_exponent;
00365 const int numeric_limits<unsigned long long>::max_exponent10;
00366 const bool numeric_limits<unsigned long long>::has_infinity;
00367 const bool numeric_limits<unsigned long long>::has_quiet_NaN;
00368 const bool numeric_limits<unsigned long long>::has_signaling_NaN;
00369 const float_denorm_style numeric_limits<unsigned long long>::has_denorm;
00370 const bool numeric_limits<unsigned long long>::has_denorm_loss;
00371 const bool numeric_limits<unsigned long long>::is_iec559;
00372 const bool numeric_limits<unsigned long long>::is_bounded;
00373 const bool numeric_limits<unsigned long long>::is_modulo;
00374 const bool numeric_limits<unsigned long long>::traps;
00375 const bool numeric_limits<unsigned long long>::tinyness_before;
00376 const float_round_style numeric_limits<unsigned long long>::round_style;
00377
00378
00379 const bool numeric_limits<float>::is_specialized;
00380 const int numeric_limits<float>::digits;
00381 const int numeric_limits<float>::digits10;
00382 const bool numeric_limits<float>::is_signed;
00383 const bool numeric_limits<float>::is_integer;
00384 const bool numeric_limits<float>::is_exact;
00385 const int numeric_limits<float>::radix;
00386 const int numeric_limits<float>::min_exponent;
00387 const int numeric_limits<float>::min_exponent10;
00388 const int numeric_limits<float>::max_exponent;
00389 const int numeric_limits<float>::max_exponent10;
00390 const bool numeric_limits<float>::has_infinity;
00391 const bool numeric_limits<float>::has_quiet_NaN;
00392 const bool numeric_limits<float>::has_signaling_NaN;
00393 const float_denorm_style numeric_limits<float>::has_denorm;
00394 const bool numeric_limits<float>::has_denorm_loss;
00395 const bool numeric_limits<float>::is_iec559;
00396 const bool numeric_limits<float>::is_bounded;
00397 const bool numeric_limits<float>::is_modulo;
00398 const bool numeric_limits<float>::traps;
00399 const bool numeric_limits<float>::tinyness_before;
00400 const float_round_style numeric_limits<float>::round_style;
00401
00402
00403 const bool numeric_limits<double>::is_specialized;
00404 const int numeric_limits<double>::digits;
00405 const int numeric_limits<double>::digits10;
00406 const bool numeric_limits<double>::is_signed;
00407 const bool numeric_limits<double>::is_integer;
00408 const bool numeric_limits<double>::is_exact;
00409 const int numeric_limits<double>::radix;
00410 const int numeric_limits<double>::min_exponent;
00411 const int numeric_limits<double>::min_exponent10;
00412 const int numeric_limits<double>::max_exponent;
00413 const int numeric_limits<double>::max_exponent10;
00414 const bool numeric_limits<double>::has_infinity;
00415 const bool numeric_limits<double>::has_quiet_NaN;
00416 const bool numeric_limits<double>::has_signaling_NaN;
00417 const float_denorm_style numeric_limits<double>::has_denorm;
00418 const bool numeric_limits<double>::has_denorm_loss;
00419 const bool numeric_limits<double>::is_iec559;
00420 const bool numeric_limits<double>::is_bounded;
00421 const bool numeric_limits<double>::is_modulo;
00422 const bool numeric_limits<double>::traps;
00423 const bool numeric_limits<double>::tinyness_before;
00424 const float_round_style numeric_limits<double>::round_style;
00425
00426
00427 const bool numeric_limits<long double>::is_specialized;
00428 const int numeric_limits<long double>::digits;
00429 const int numeric_limits<long double>::digits10;
00430 const bool numeric_limits<long double>::is_signed;
00431 const bool numeric_limits<long double>::is_integer;
00432 const bool numeric_limits<long double>::is_exact;
00433 const int numeric_limits<long double>::radix;
00434 const int numeric_limits<long double>::min_exponent;
00435 const int numeric_limits<long double>::min_exponent10;
00436 const int numeric_limits<long double>::max_exponent;
00437 const int numeric_limits<long double>::max_exponent10;
00438 const bool numeric_limits<long double>::has_infinity;
00439 const bool numeric_limits<long double>::has_quiet_NaN;
00440 const bool numeric_limits<long double>::has_signaling_NaN;
00441 const float_denorm_style numeric_limits<long double>::has_denorm;
00442 const bool numeric_limits<long double>::has_denorm_loss;
00443 const bool numeric_limits<long double>::is_iec559;
00444 const bool numeric_limits<long double>::is_bounded;
00445 const bool numeric_limits<long double>::is_modulo;
00446 const bool numeric_limits<long double>::traps;
00447 const bool numeric_limits<long double>::tinyness_before;
00448 const float_round_style numeric_limits<long double>::round_style;
00449 }