Commit graph

9 commits

Author SHA1 Message Date
Robin Kruppe
c4230ea50c dec2flt: Remove unused macro argument
The argument was a remnant of an earlier, needlessly complicated implementation.
2015-12-12 00:10:15 +01:00
Robin Kruppe
2863a8ba7a dec2flt: Simplify imports and module surface
The import has been unnecessarily complicated since ParseFloatError::Invalid is not longer used unqualified.
The pfe_* functions do not need to be public any more since the only other use site, from_str_radix for floats, has been removed.
2015-12-12 00:07:42 +01:00
Robin Kruppe
6d87929bcb Remove an accent in a comment 2015-12-12 00:06:05 +01:00
Robin Kruppe
71dcd7f70c Reject "+" and "-" when parsing floats.
Fixes #29042
2015-10-14 19:55:59 +02:00
Robin Kruppe
cd67ec306f Reorganize core::num internals
Move private bignum module to core::num, because it is not only used in flt2dec.
Extract private 80-bit soft-float into new core::num module for the same reason.
2015-09-20 18:39:08 +02:00
Alex Crichton
a2b932c0b6 core: Shuffle around float parsing
Stop using stability to hide the implementation details of ParseFloatError and
instead move the error type into the `dec2flt` module. Also move the
implementation blocks of `FromStr for f{32,64}` into `dec2flt` directly.
2015-08-17 19:35:52 -07:00
Alex Crichton
5f625620b5 std: Add issues to all unstable features 2015-08-15 18:09:17 -07:00
Robin Kruppe
15518a9c0c Mention that the fast path is broken without SSE. 2015-08-12 11:09:56 +02:00
Robin Kruppe
ba792a4baa Accurate decimal-to-float parsing routines.
This commit primarily adds implementations of the algorithms from William
Clinger's paper "How to Read Floating Point Numbers Accurately". It also
includes a lot of infrastructure necessary for those algorithms, and some
unit tests.

Since these algorithms reject a few (extreme) inputs that were previously
accepted, this could be seen as a [breaking-change]
2015-08-08 17:15:31 +02:00