Lines Matching refs:current
271 // The current double could be a denormal.
3121 static bool ConsumeSubString(Iterator* current,
3124 ASSERT(**current == *substring);
3126 ++*current;
3127 if (*current == end || **current != *substring) return false;
3129 ++*current;
3149 static inline bool AdvanceToNonspace(Iterator* current, Iterator end) {
3150 while (*current != end) {
3151 if (!isWhitespace(**current)) return true;
3152 ++*current;
3176 static double RadixStringToIeee(Iterator* current, Iterator end,
3180 ASSERT(*current != end);
3187 while (**current == '0') {
3188 ++(*current);
3189 if (*current == end) {
3201 if (IsDecimalDigitForRadix(**current, radix)) {
3202 digit = static_cast<char>(**current) - '0';
3203 } else if (IsCharacterDigitForRadix(**current, radix, 'a')) {
3204 digit = static_cast<char>(**current) - 'a' + 10;
3205 } else if (IsCharacterDigitForRadix(**current, radix, 'A')) {
3206 digit = static_cast<char>(**current) - 'A' + 10;
3208 if (allow_trailing_junk || !AdvanceToNonspace(current, end)) {
3233 ++(*current);
3234 if (*current == end || !isDigit(**current, radix)) break;
3235 zero_tail = zero_tail && **current == '0';
3239 if (!allow_trailing_junk && AdvanceToNonspace(current, end)) {
3261 ++(*current);
3262 } while (*current != end);
3285 const char *current = input;
3295 if (current == end) return empty_string_value_;
3298 if (!AdvanceToNonspace(¤t, end)) {
3299 *processed_characters_count = static_cast<int>(current - input);
3302 if (!allow_leading_spaces && (input != current)) {
3318 if (*current == '+' || *current == '-') {
3319 sign = (*current == '-');
3320 ++current;
3321 const char *next_non_space = current;
3324 if (!allow_spaces_after_sign && (current != next_non_space)) {
3327 current = next_non_space;
3331 if (*current == infinity_symbol_[0]) {
3332 if (!ConsumeSubString(¤t, end, infinity_symbol_)) {
3336 if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
3339 if (!allow_trailing_junk && AdvanceToNonspace(¤t, end)) {
3344 *processed_characters_count = static_cast<int>(current - input);
3350 if (*current == nan_symbol_[0]) {
3351 if (!ConsumeSubString(¤t, end, nan_symbol_)) {
3355 if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
3358 if (!allow_trailing_junk && AdvanceToNonspace(¤t, end)) {
3363 *processed_characters_count = static_cast<int>(current - input);
3369 if (*current == '0') {
3370 ++current;
3371 if (current == end) {
3372 *processed_characters_count = static_cast<int>(current - input);
3379 if ((flags_ & ALLOW_HEX) && (*current == 'x' || *current == 'X')) {
3380 ++current;
3381 if (current == end || !isDigit(*current, 16)) {
3386 double result = RadixStringToIeee<4>(¤t,
3393 if (allow_trailing_spaces) AdvanceToNonspace(¤t, end);
3394 *processed_characters_count = static_cast<int>(current - input);
3400 while (*current == '0') {
3401 ++current;
3402 if (current == end) {
3403 *processed_characters_count = static_cast<int>(current - input);
3412 while (*current >= '0' && *current <= '9') {
3415 buffer[buffer_pos++] = static_cast<char>(*current);
3420 nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
3422 octal = octal && *current < '8';
3423 ++current;
3424 if (current == end) goto parsing_done;
3431 if (*current == '.') {
3435 ++current;
3436 if (current == end) {
3448 while (*current == '0') {
3449 ++current;
3450 if (current == end) {
3451 *processed_characters_count = static_cast<int>(current - input);
3460 while (*current >= '0' && *current <= '9') {
3463 buffer[buffer_pos++] = static_cast<char>(*current);
3468 nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
3470 ++current;
3471 if (current == end) goto parsing_done;
3484 if (*current == 'e' || *current == 'E') {
3487 ++current;
3488 if (current == end) {
3496 if (*current == '+' || *current == '-') {
3497 sign = static_cast<char>(*current);
3498 ++current;
3499 if (current == end) {
3508 if (current == end || *current < '0' || *current > '9') {
3521 int digit = *current - '0';
3528 ++current;
3529 } while (current != end && *current >= '0' && *current <= '9');
3534 if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
3537 if (!allow_trailing_junk && AdvanceToNonspace(¤t, end)) {
3541 AdvanceToNonspace(¤t, end);
3558 *processed_characters_count = static_cast<int>(current - input);
3571 *processed_characters_count = static_cast<int>(current - input);