Changeset 88605 in webkit for trunk/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
- Timestamp:
- Jun 11, 2011, 1:16:46 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
r88587 r88605 49 49 50 50 namespace JSC { 51 52 #define NaN std::numeric_limits<double>::quiet_NaN()53 #define Inf std::numeric_limits<double>::infinity()54 51 55 52 static JSValue encode(ExecState* exec, const char* doNotEscape) … … 183 180 184 181 for (const char* p = s + length - 1; p >= s; p--) { 185 if (radixMultiplier == Inf) {182 if (radixMultiplier == std::numeric_limits<double>::infinity()) { 186 183 if (*p != '0') { 187 number = Inf;184 number = std::numeric_limits<double>::infinity(); 188 185 break; 189 186 } … … 205 202 206 203 for (const UChar* p = s + length - 1; p >= s; p--) { 207 if (radixMultiplier == Inf) {204 if (radixMultiplier == std::numeric_limits<double>::infinity()) { 208 205 if (*p != '0') { 209 number = Inf;206 number = std::numeric_limits<double>::infinity(); 210 207 break; 211 208 } … … 251 248 252 249 if (radix < 2 || radix > 36) 253 return NaN;250 return std::numeric_limits<double>::quiet_NaN(); 254 251 255 252 int firstDigitPosition = p; … … 274 271 275 272 if (!sawDigit) 276 return NaN;273 return std::numeric_limits<double>::quiet_NaN(); 277 274 278 275 return sign * number; … … 342 339 if (isInfinity(data, end)) { 343 340 data += SizeOfInfinity; 344 return Inf;341 return std::numeric_limits<double>::infinity(); 345 342 } 346 343 break; … … 349 346 if (isInfinity(data + 1, end)) { 350 347 data += SizeOfInfinity + 1; 351 return Inf;348 return std::numeric_limits<double>::infinity(); 352 349 } 353 350 break; … … 356 353 if (isInfinity(data + 1, end)) { 357 354 data += SizeOfInfinity + 1; 358 return - Inf;355 return -std::numeric_limits<double>::infinity(); 359 356 } 360 357 break; … … 362 359 363 360 // Not a number. 364 return NaN;361 return std::numeric_limits<double>::quiet_NaN(); 365 362 } 366 363 … … 376 373 if (isStrWhiteSpace(c)) 377 374 return 0; 378 return NaN;375 return std::numeric_limits<double>::quiet_NaN(); 379 376 } 380 377 … … 404 401 } 405 402 if (data != end) 406 return NaN;403 return std::numeric_limits<double>::quiet_NaN(); 407 404 408 405 return number; … … 417 414 if (isASCIIDigit(c)) 418 415 return c - '0'; 419 return NaN;416 return std::numeric_limits<double>::quiet_NaN(); 420 417 } 421 418 … … 431 428 // Empty string. 432 429 if (data == end) 433 return NaN;430 return std::numeric_limits<double>::quiet_NaN(); 434 431 435 432 return jsStrDecimalLiteral(data, end);
Note:
See TracChangeset
for help on using the changeset viewer.