!(isALPHA_FOLD_EQ(*s, 'Y') ||
isALPHA_FOLD_EQ(*s, 'E'))) return 0;
s++; if (s < send) return 0;
- } else if (*s)
- return 0;
+ } else {
+ while (*s == '0') { /* 1.#INF00 */
+ s++;
+ }
+ if (*s)
+ return 0;
+ }
flags |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT;
}
else if (isALPHA_FOLD_EQ(*s, 'D') && odh) { /* 1.#IND */
s++;
flags |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT;
+ while (*s == '0') { /* 1.#IND00 */
+ s++;
+ }
} else
return 0;
}
my @PInf = ("Inf", "inf", "INF", "+Inf",
"Infinity", "INFINITE",
- "1.#INF", "1#INF");
+ "1.#INF", "1#INF", "1.#INF00");
my @NInf = map { "-$_" } grep { ! /^\+/ } @PInf;
my @NaN = ("NAN", "nan", "qnan", "SNAN", "NanQ", "NANS",
- "1.#QNAN", "+1#SNAN", "-1.#NAN", "1#IND",
+ "1.#QNAN", "+1#SNAN", "-1.#NAN", "1#IND", "1.#IND00",
"NaN123", "NAN(123)", "nan%",
"nanonano"); # RIP, Robin Williams.