summaryrefslogtreecommitdiffstats
path: root/third_party/rust/dtoa/README.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/dtoa/README.md
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/dtoa/README.md')
-rw-r--r--third_party/rust/dtoa/README.md69
1 files changed, 69 insertions, 0 deletions
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<W: io::Write, V: dtoa::Floating>(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.