[libc] Fix str_to_float.h clinger_fast_math for negative exponents. (#227391)
* Correctly handle inequality comparison with `exp10` when it equals
`INT32_MIN` and cannot be negated.
* When rounding mode is non-nearest, add missing handling of negative
exponents as in the nearest-mode fast-path above.
Both of these issues resulted in out-of-bounds access of
`POWERS_OF_TEN_ARRAY`.
While here, rename `exp10` to `exp_10` in str_to_float.h to disambiguate
from the C23 `exp10()` function. Also rename `exp2` to `exp_2` for
consistency.
Co-authored-by: @mxms0
Assisted-by: Automated tooling, human reviewed.
GitOrigin-RevId: 088f62a2d1c0cd124326d358a66421d837d728e0
6 files changed