new floating point parser/converter
authorRich Felker <dalias@aerifal.cx>
Tue, 10 Apr 2012 15:52:55 +0000 (11:52 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 10 Apr 2012 15:52:55 +0000 (11:52 -0400)
commit415c4cd7fdb3e8b7476fbb2be2390f4592cf5165
tree8dd9bb181dd259227dd6101633f81880cd0157f3
parent3be616c1df7ee176b5e00b9f493136ca7385ec46
new floating point parser/converter

this version is intended to be fully conformant to the ISO C, POSIX,
and IEEE standards for conversion of decimal/hex floating point
strings to float, double, and long double (ld64 or ld80 only at
present) values. in particular, all results are intended to be rounded
correctly according to the current rounding mode. further, this
implementation aims to set the floating point underflow, overflow, and
inexact flags to reflect the conversion performed.

a moderate amount of testing has been performed (by nsz and myself)
prior to integration of the code in musl, but it still may have bugs.

so far, only strto(d|ld|f) use the new code. scanf integration will be
done as a separate commit, and i will add implementations of the wide
character functions later.
src/internal/floatscan.c [new file with mode: 0644]
src/internal/floatscan.h [new file with mode: 0644]
src/stdlib/strtod.c
src/stdlib/strtof.c
src/stdlib/strtold.c