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