From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- third_party/rust/dtoa/README.md | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 third_party/rust/dtoa/README.md (limited to 'third_party/rust/dtoa/README.md') diff --git a/third_party/rust/dtoa/README.md b/third_party/rust/dtoa/README.md new file mode 100644 index 0000000000..2f26b68a59 --- /dev/null +++ b/third_party/rust/dtoa/README.md @@ -0,0 +1,69 @@ +dtoa +==== + +[![Build Status](https://api.travis-ci.org/dtolnay/dtoa.svg?branch=master)](https://travis-ci.org/dtolnay/dtoa) +[![Latest Version](https://img.shields.io/crates/v/dtoa.svg)](https://crates.io/crates/dtoa) + +This crate provides fast functions for printing floating-point primitives to an +[`io::Write`](https://doc.rust-lang.org/std/io/trait.Write.html). The +implementation is a straightforward Rust port of [Milo +Yip](https://github.com/miloyip)'s C++ implementation +[dtoa.h](https://github.com/miloyip/rapidjson/blob/master/include/rapidjson/internal/dtoa.h). +The original C++ code of each function is included in comments. + +See also [`itoa`](https://github.com/dtolnay/itoa) for printing integer +primitives. + +## Performance (lower is better) + +![performance](https://raw.githubusercontent.com/dtolnay/dtoa/master/performance.png) + +## Functions + +```rust +extern crate dtoa; + +// write to a vector or other io::Write +let mut buf = Vec::new(); +dtoa::write(&mut buf, 2.71828f64)?; +println!("{:?}", buf); + +// write to a stack buffer +let mut bytes = [b'\0'; 20]; +let n = dtoa::write(&mut bytes[..], 2.71828f64)?; +println!("{:?}", &bytes[..n]); +``` + +The function signature is: + +```rust +fn write(writer: W, value: V) -> io::Result<()> +``` + +where `dtoa::Floating` is implemented for `f32` and `f64`. The return value +gives the number of bytes written. + +## Dependency + +Dtoa is available on [crates.io](https://crates.io/crates/dtoa). Use the +following in `Cargo.toml`: + +```toml +[dependencies] +dtoa = "0.4" +``` + +## License + +Licensed under either of + + * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) + * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in dtoa by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. -- cgit v1.2.3