rust/src
bors 67ba6dcf68 Auto merge of #24612 - lifthrasiir:flt2dec, r=pnkfelix
This is a direct port of my prior work on the float formatting. The detailed description is available [here](https://github.com/lifthrasiir/rust-strconv#flt2dec). In brief,

* This adds a new hidden module `core::num::flt2dec` for testing from `libcoretest`. Why is it in `core::num` instead of `core::fmt`? Because I envision that the table used by `flt2dec` is directly applicable to `dec2flt` (cf. #24557) as well, which exceeds the realm of "formatting".
* This contains both Dragon4 algorithm (exact, complete but slow) and Grisu3 algorithm (exact, fast but incomplete).
* The code is accompanied with a large amount of self-tests and some exhaustive tests. In particular, `libcoretest` gets a new dependency on `librand`. For the external interface it relies on the existing test suite.
* It is known that, in the best case, the entire formatting code has about 30 KBs of binary overhead (judged from strconv experiments). Not too bad but there might be a potential room for improvements.

This is rather large code. I did my best to comment and annotate the code, but you have been warned.

For the maximal availability the original code was licensed in CC0, but I've also dual-licensed it in MIT/Apache as well so there should be no licensing concern.

This is [breaking-change] as it changes the float output slightly (and it also affects the casing of `inf` and `nan`). I hope this is not a big deal though :)

Fixes #7030, #18038 and #24556. Also related to #6220 and #20870.

## Known Issues

- [x] I've yet to finish `make check-stage1`. It does pass main test suites including `run-pass` but there might be some unknown edges on the doctests.
- [ ] Figure out how this PR affects rustc.
- [ ] Determine which internal routine is mapped to the formatting specifier. Depending on the decision, some internal routine can be safely removed (for instance, currently `to_shortest_str` is unused).
2015-05-09 14:56:56 +00:00
..
compiler-rt@58ab642c30
compiletest Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
doc Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
driver
error-index-generator
etc
grammar
jemalloc@e24a1a025a
liballoc Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
libarena
libbacktrace
libcollections Rollup merge of #25227 - jooert:bitvec-doc-fix, r=alexcrichton 2015-05-09 18:40:19 +05:30
libcollectionstest Auto merge of #24890 - jooert:bitvec-append-split_off, r=alexcrichton 2015-05-07 00:20:25 +00:00
libcore Auto merge of #24612 - lifthrasiir:flt2dec, r=pnkfelix 2015-05-09 14:56:56 +00:00
libcoretest Auto merge of #24612 - lifthrasiir:flt2dec, r=pnkfelix 2015-05-09 14:56:56 +00:00
libflate
libfmt_macros
libgetopts
libgraphviz
liblibc Rollup merge of #25211 - huonw:libc, r=cmr 2015-05-09 00:37:45 +05:30
liblog Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
librand Add a reason to the libc & rand instability. 2015-05-08 23:20:53 +10:00
librbml
librustc Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
librustc_back
librustc_bitflags
librustc_borrowck
librustc_data_structures
librustc_driver
librustc_lint
librustc_llvm
librustc_privacy
librustc_resolve
librustc_trans Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
librustc_typeck Auto merge of #25212 - pnkfelix:dropck-box-trait, r=nikomatsakis 2015-05-09 09:20:43 +00:00
librustc_unicode
librustdoc Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
libserialize
libstd Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
libsyntax Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
libterm
libtest Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
llvm@bff6907697
rt
rust-installer@e54d4823d2
rustbook
rustllvm
test test: fixed some tests affected by banker's rounding. 2015-05-09 22:52:47 +09:00
snapshots.txt