mirror of
https://github.com/GnoConsortium/gno.git
synced 2025-03-11 14:29:31 +00:00
The ecvt(), fcvt(), and __dtoa() routines were generally rewritten to address the problem of printing floating point numbers (they sometimes came out wrong, especially representations of zero). __dtoa was written from the description in the BSD sources (note that the comment of it being "like ecvt/fcvt other than truncating trailing zeros") is not quite accurate where it comes to the rve pointer or the printing of zero values. __dtoa is still expected to be wrong for any modes other than 2 and 3, however those modes are not used by anything in libc yet. Fix them when they pop up. BSD has not ecvt/fcvt routines, so these have been written based on the man page and observed behavior of the Linux implementation. There is no gcvt yet.