Upgrade libm to 0.2.8

This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update external/rust/crates/libm
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md

Test: TreeHugger
Change-Id: Ic6b0c796cd48d10e02e5908a7dfef6b41ccc5fb4
32 files changed
tree: e5c8b61ed966e0b86b61046a75d0e538d4d456d2
  1. patches/
  2. src/
  3. .cargo_vcs_info.json
  4. .editorconfig
  5. .gitignore
  6. Android.bp
  7. build.rs
  8. Cargo.toml
  9. Cargo.toml.orig
  10. cargo_embargo.json
  11. CHANGELOG.md
  12. CONTRIBUTING.md
  13. LICENSE-APACHE
  14. LICENSE-MIT
  15. METADATA
  16. MODULE_LICENSE_APACHE2
  17. OWNERS
  18. README.md
  19. TEST_MAPPING
README.md

libm

A port of MUSL's libm to Rust.

Goals

The short term goal of this library is to enable math support (e.g. sin, atan2) for the wasm32-unknown-unknown target (cf. rust-lang/compiler-builtins). The longer term goal is to enable math support in the core crate.

Already usable

This crate is on crates.io and can be used today in stable #![no_std] programs.

The API documentation can be found here.

Benchmark

The benchmarks are located in crates/libm-bench and require a nightly Rust toolchain. To run all benchmarks:

cargo +nightly bench --all

Contributing

Please check CONTRIBUTING.md

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.