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 const bool numeric_limits<bool>::is_specialized;
00041 const int numeric_limits<bool>::digits;
00042 const int numeric_limits<bool>::digits10;
00043 const bool numeric_limits<bool>::is_signed;
00044 const bool numeric_limits<bool>::is_integer;
00045 const bool numeric_limits<bool>::is_exact;
00046 const int numeric_limits<bool>::radix;
00047 const int numeric_limits<bool>::min_exponent;
00048 const int numeric_limits<bool>::min_exponent10;
00049 const int numeric_limits<bool>::max_exponent;
00050 const int numeric_limits<bool>::max_exponent10;
00051 const bool numeric_limits<bool>::has_infinity;
00052 const bool numeric_limits<bool>::has_quiet_NaN;
00053 const bool numeric_limits<bool>::has_signaling_NaN;
00054 const float_denorm_style numeric_limits<bool>::has_denorm;
00055 const bool numeric_limits<bool>::has_denorm_loss;
00056 const bool numeric_limits<bool>::is_iec559;
00057 const bool numeric_limits<bool>::is_bounded;
00058 const bool numeric_limits<bool>::is_modulo;
00059 const bool numeric_limits<bool>::traps;
00060 const bool numeric_limits<bool>::tinyness_before;
00061 const float_round_style numeric_limits<bool>::round_style;
00062
00063 const bool numeric_limits<char>::is_specialized;
00064 const int numeric_limits<char>::digits;
00065 const int numeric_limits<char>::digits10;
00066 const bool numeric_limits<char>::is_signed;
00067 const bool numeric_limits<char>::is_integer;
00068 const bool numeric_limits<char>::is_exact;
00069 const int numeric_limits<char>::radix;
00070 const int numeric_limits<char>::min_exponent;
00071 const int numeric_limits<char>::min_exponent10;
00072 const int numeric_limits<char>::max_exponent;
00073 const int numeric_limits<char>::max_exponent10;
00074 const bool numeric_limits<char>::has_infinity;
00075 const bool numeric_limits<char>::has_quiet_NaN;
00076 const bool numeric_limits<char>::has_signaling_NaN;
00077 const float_denorm_style numeric_limits<char>::has_denorm;
00078 const bool numeric_limits<char>::has_denorm_loss;
00079 const bool numeric_limits<char>::is_iec559;
00080 const bool numeric_limits<char>::is_bounded;
00081 const bool numeric_limits<char>::is_modulo;
00082 const bool numeric_limits<char>::traps;
00083 const bool numeric_limits<char>::tinyness_before;
00084 const float_round_style numeric_limits<char>::round_style;
00085
00086 const bool numeric_limits<signed char>::is_specialized;
00087 const int numeric_limits<signed char>::digits;
00088 const int numeric_limits<signed char>::digits10;
00089 const bool numeric_limits<signed char>::is_signed;
00090 const bool numeric_limits<signed char>::is_integer;
00091 const bool numeric_limits<signed char>::is_exact;
00092 const int numeric_limits<signed char>::radix;
00093 const int numeric_limits<signed char>::min_exponent;
00094 const int numeric_limits<signed char>::min_exponent10;
00095 const int numeric_limits<signed char>::max_exponent;
00096 const int numeric_limits<signed char>::max_exponent10;
00097 const bool numeric_limits<signed char>::has_infinity;
00098 const bool numeric_limits<signed char>::has_quiet_NaN;
00099 const bool numeric_limits<signed char>::has_signaling_NaN;
00100 const float_denorm_style numeric_limits<signed char>::has_denorm;
00101 const bool numeric_limits<signed char>::has_denorm_loss;
00102 const bool numeric_limits<signed char>::is_iec559;
00103 const bool numeric_limits<signed char>::is_bounded;
00104 const bool numeric_limits<signed char>::is_modulo;
00105 const bool numeric_limits<signed char>::traps;
00106 const bool numeric_limits<signed char>::tinyness_before;
00107 const float_round_style numeric_limits<signed char>::round_style;
00108
00109 const bool numeric_limits<unsigned char>::is_specialized;
00110 const int numeric_limits<unsigned char>::digits;
00111 const int numeric_limits<unsigned char>::digits10;
00112 const bool numeric_limits<unsigned char>::is_signed;
00113 const bool numeric_limits<unsigned char>::is_integer;
00114 const bool numeric_limits<unsigned char>::is_exact;
00115 const int numeric_limits<unsigned char>::radix;
00116 const int numeric_limits<unsigned char>::min_exponent;
00117 const int numeric_limits<unsigned char>::min_exponent10;
00118 const int numeric_limits<unsigned char>::max_exponent;
00119 const int numeric_limits<unsigned char>::max_exponent10;
00120 const bool numeric_limits<unsigned char>::has_infinity;
00121 const bool numeric_limits<unsigned char>::has_quiet_NaN;
00122 const bool numeric_limits<unsigned char>::has_signaling_NaN;
00123 const float_denorm_style numeric_limits<unsigned char>::has_denorm;
00124 const bool numeric_limits<unsigned char>::has_denorm_loss;
00125 const bool numeric_limits<unsigned char>::is_iec559;
00126 const bool numeric_limits<unsigned char>::is_bounded;
00127 const bool numeric_limits<unsigned char>::is_modulo;
00128 const bool numeric_limits<unsigned char>::traps;
00129 const bool numeric_limits<unsigned char>::tinyness_before;
00130 const float_round_style numeric_limits<unsigned char>::round_style;
00131
00132 const bool numeric_limits<short>::is_specialized;
00133 const int numeric_limits<short>::digits;
00134 const int numeric_limits<short>::digits10;
00135 const bool numeric_limits<short>::is_signed;
00136 const bool numeric_limits<short>::is_integer;
00137 const bool numeric_limits<short>::is_exact;
00138 const int numeric_limits<short>::radix;
00139 const int numeric_limits<short>::min_exponent;
00140 const int numeric_limits<short>::min_exponent10;
00141 const int numeric_limits<short>::max_exponent;
00142 const int numeric_limits<short>::max_exponent10;
00143 const bool numeric_limits<short>::has_infinity;
00144 const bool numeric_limits<short>::has_quiet_NaN;
00145 const bool numeric_limits<short>::has_signaling_NaN;
00146 const float_denorm_style numeric_limits<short>::has_denorm;
00147 const bool numeric_limits<short>::has_denorm_loss;
00148 const bool numeric_limits<short>::is_iec559;
00149 const bool numeric_limits<short>::is_bounded;
00150 const bool numeric_limits<short>::is_modulo;
00151 const bool numeric_limits<short>::traps;
00152 const bool numeric_limits<short>::tinyness_before;
00153 const float_round_style numeric_limits<short>::round_style;
00154
00155 const bool numeric_limits<unsigned short>::is_specialized;
00156 const int numeric_limits<unsigned short>::digits;
00157 const int numeric_limits<unsigned short>::digits10;
00158 const bool numeric_limits<unsigned short>::is_signed;
00159 const bool numeric_limits<unsigned short>::is_integer;
00160 const bool numeric_limits<unsigned short>::is_exact;
00161 const int numeric_limits<unsigned short>::radix;
00162 const int numeric_limits<unsigned short>::min_exponent;
00163 const int numeric_limits<unsigned short>::min_exponent10;
00164 const int numeric_limits<unsigned short>::max_exponent;
00165 const int numeric_limits<unsigned short>::max_exponent10;
00166 const bool numeric_limits<unsigned short>::has_infinity;
00167 const bool numeric_limits<unsigned short>::has_quiet_NaN;
00168 const bool numeric_limits<unsigned short>::has_signaling_NaN;
00169 const float_denorm_style numeric_limits<unsigned short>::has_denorm;
00170 const bool numeric_limits<unsigned short>::has_denorm_loss;
00171 const bool numeric_limits<unsigned short>::is_iec559;
00172 const bool numeric_limits<unsigned short>::is_bounded;
00173 const bool numeric_limits<unsigned short>::is_modulo;
00174 const bool numeric_limits<unsigned short>::traps;
00175 const bool numeric_limits<unsigned short>::tinyness_before;
00176 const float_round_style numeric_limits<unsigned short>::round_style;
00177
00178 const bool numeric_limits<int>::is_specialized;
00179 const int numeric_limits<int>::digits;
00180 const int numeric_limits<int>::digits10;
00181 const bool numeric_limits<int>::is_signed;
00182 const bool numeric_limits<int>::is_integer;
00183 const bool numeric_limits<int>::is_exact;
00184 const int numeric_limits<int>::radix;
00185 const int numeric_limits<int>::min_exponent;
00186 const int numeric_limits<int>::min_exponent10;
00187 const int numeric_limits<int>::max_exponent;
00188 const int numeric_limits<int>::max_exponent10;
00189 const bool numeric_limits<int>::has_infinity;
00190 const bool numeric_limits<int>::has_quiet_NaN;
00191 const bool numeric_limits<int>::has_signaling_NaN;
00192 const float_denorm_style numeric_limits<int>::has_denorm;
00193 const bool numeric_limits<int>::has_denorm_loss;
00194 const bool numeric_limits<int>::is_iec559;
00195 const bool numeric_limits<int>::is_bounded;
00196 const bool numeric_limits<int>::is_modulo;
00197 const bool numeric_limits<int>::traps;
00198 const bool numeric_limits<int>::tinyness_before;
00199 const float_round_style numeric_limits<int>::round_style;
00200
00201 const bool numeric_limits<unsigned int>::is_specialized;
00202 const int numeric_limits<unsigned int>::digits;
00203 const int numeric_limits<unsigned int>::digits10;
00204 const bool numeric_limits<unsigned int>::is_signed;
00205 const bool numeric_limits<unsigned int>::is_integer;
00206 const bool numeric_limits<unsigned int>::is_exact;
00207 const int numeric_limits<unsigned int>::radix;
00208 const int numeric_limits<unsigned int>::min_exponent;
00209 const int numeric_limits<unsigned int>::min_exponent10;
00210 const int numeric_limits<unsigned int>::max_exponent;
00211 const int numeric_limits<unsigned int>::max_exponent10;
00212 const bool numeric_limits<unsigned int>::has_infinity;
00213 const bool numeric_limits<unsigned int>::has_quiet_NaN;
00214 const bool numeric_limits<unsigned int>::has_signaling_NaN;
00215 const float_denorm_style numeric_limits<unsigned int>::has_denorm;
00216 const bool numeric_limits<unsigned int>::has_denorm_loss;
00217 const bool numeric_limits<unsigned int>::is_iec559;
00218 const bool numeric_limits<unsigned int>::is_bounded;
00219 const bool numeric_limits<unsigned int>::is_modulo;
00220 const bool numeric_limits<unsigned int>::traps;
00221 const bool numeric_limits<unsigned int>::tinyness_before;
00222 const float_round_style numeric_limits<unsigned int>::round_style;
00223
00224 const bool numeric_limits<long>::is_specialized;
00225 const int numeric_limits<long>::digits;
00226 const int numeric_limits<long>::digits10;
00227 const bool numeric_limits<long>::is_signed;
00228 const bool numeric_limits<long>::is_integer;
00229 const bool numeric_limits<long>::is_exact;
00230 const int numeric_limits<long>::radix;
00231 const int numeric_limits<long>::min_exponent;
00232 const int numeric_limits<long>::min_exponent10;
00233 const int numeric_limits<long>::max_exponent;
00234 const int numeric_limits<long>::max_exponent10;
00235 const bool numeric_limits<long>::has_infinity;
00236 const bool numeric_limits<long>::has_quiet_NaN;
00237 const bool numeric_limits<long>::has_signaling_NaN;
00238 const float_denorm_style numeric_limits<long>::has_denorm;
00239 const bool numeric_limits<long>::has_denorm_loss;
00240 const bool numeric_limits<long>::is_iec559;
00241 const bool numeric_limits<long>::is_bounded;
00242 const bool numeric_limits<long>::is_modulo;
00243 const bool numeric_limits<long>::traps;
00244 const bool numeric_limits<long>::tinyness_before;
00245 const float_round_style numeric_limits<long>::round_style;
00246
00247 const bool numeric_limits<unsigned long>::is_specialized;
00248 const int numeric_limits<unsigned long>::digits;
00249 const int numeric_limits<unsigned long>::digits10;
00250 const bool numeric_limits<unsigned long>::is_signed;
00251 const bool numeric_limits<unsigned long>::is_integer;
00252 const bool numeric_limits<unsigned long>::is_exact;
00253 const int numeric_limits<unsigned long>::radix;
00254 const int numeric_limits<unsigned long>::min_exponent;
00255 const int numeric_limits<unsigned long>::min_exponent10;
00256 const int numeric_limits<unsigned long>::max_exponent;
00257 const int numeric_limits<unsigned long>::max_exponent10;
00258 const bool numeric_limits<unsigned long>::has_infinity;
00259 const bool numeric_limits<unsigned long>::has_quiet_NaN;
00260 const bool numeric_limits<unsigned long>::has_signaling_NaN;
00261 const float_denorm_style numeric_limits<unsigned long>::has_denorm;
00262 const bool numeric_limits<unsigned long>::has_denorm_loss;
00263 const bool numeric_limits<unsigned long>::is_iec559;
00264 const bool numeric_limits<unsigned long>::is_bounded;
00265 const bool numeric_limits<unsigned long>::is_modulo;
00266 const bool numeric_limits<unsigned long>::traps;
00267 const bool numeric_limits<unsigned long>::tinyness_before;
00268 const float_round_style numeric_limits<unsigned long>::round_style;
00269
00270 const bool numeric_limits<float>::is_specialized;
00271 const int numeric_limits<float>::digits;
00272 const int numeric_limits<float>::digits10;
00273 const bool numeric_limits<float>::is_signed;
00274 const bool numeric_limits<float>::is_integer;
00275 const bool numeric_limits<float>::is_exact;
00276 const int numeric_limits<float>::radix;
00277 const int numeric_limits<float>::min_exponent;
00278 const int numeric_limits<float>::min_exponent10;
00279 const int numeric_limits<float>::max_exponent;
00280 const int numeric_limits<float>::max_exponent10;
00281 const bool numeric_limits<float>::has_infinity;
00282 const bool numeric_limits<float>::has_quiet_NaN;
00283 const bool numeric_limits<float>::has_signaling_NaN;
00284 const float_denorm_style numeric_limits<float>::has_denorm;
00285 const bool numeric_limits<float>::has_denorm_loss;
00286 const bool numeric_limits<float>::is_iec559;
00287 const bool numeric_limits<float>::is_bounded;
00288 const bool numeric_limits<float>::is_modulo;
00289 const bool numeric_limits<float>::traps;
00290 const bool numeric_limits<float>::tinyness_before;
00291 const float_round_style numeric_limits<float>::round_style;
00292
00293 const bool numeric_limits<double>::is_specialized;
00294 const int numeric_limits<double>::digits;
00295 const int numeric_limits<double>::digits10;
00296 const bool numeric_limits<double>::is_signed;
00297 const bool numeric_limits<double>::is_integer;
00298 const bool numeric_limits<double>::is_exact;
00299 const int numeric_limits<double>::radix;
00300 const int numeric_limits<double>::min_exponent;
00301 const int numeric_limits<double>::min_exponent10;
00302 const int numeric_limits<double>::max_exponent;
00303 const int numeric_limits<double>::max_exponent10;
00304 const bool numeric_limits<double>::has_infinity;
00305 const bool numeric_limits<double>::has_quiet_NaN;
00306 const bool numeric_limits<double>::has_signaling_NaN;
00307 const float_denorm_style numeric_limits<double>::has_denorm;
00308 const bool numeric_limits<double>::has_denorm_loss;
00309 const bool numeric_limits<double>::is_iec559;
00310 const bool numeric_limits<double>::is_bounded;
00311 const bool numeric_limits<double>::is_modulo;
00312 const bool numeric_limits<double>::traps;
00313 const bool numeric_limits<double>::tinyness_before;
00314 const float_round_style numeric_limits<double>::round_style;
00315
00316 const bool numeric_limits<long double>::is_specialized;
00317 const int numeric_limits<long double>::digits;
00318 const int numeric_limits<long double>::digits10;
00319 const bool numeric_limits<long double>::is_signed;
00320 const bool numeric_limits<long double>::is_integer;
00321 const bool numeric_limits<long double>::is_exact;
00322 const int numeric_limits<long double>::radix;
00323 const int numeric_limits<long double>::min_exponent;
00324 const int numeric_limits<long double>::min_exponent10;
00325 const int numeric_limits<long double>::max_exponent;
00326 const int numeric_limits<long double>::max_exponent10;
00327 const bool numeric_limits<long double>::has_infinity;
00328 const bool numeric_limits<long double>::has_quiet_NaN;
00329 const bool numeric_limits<long double>::has_signaling_NaN;
00330 const float_denorm_style numeric_limits<long double>::has_denorm;
00331 const bool numeric_limits<long double>::has_denorm_loss;
00332 const bool numeric_limits<long double>::is_iec559;
00333 const bool numeric_limits<long double>::is_bounded;
00334 const bool numeric_limits<long double>::is_modulo;
00335 const bool numeric_limits<long double>::traps;
00336 const bool numeric_limits<long double>::tinyness_before;
00337 const float_round_style numeric_limits<long double>::round_style;
00338 }
00339
00340