Bug: 174788271

Clone this repo:
  1. f179e1c Merge "Refresh Android.bp, cargo2android.json, TEST_MAPPING." by Joel Galenson · 5 weeks ago master
  2. 35fb862 Refresh Android.bp, cargo2android.json, TEST_MAPPING. by Joel Galenson · 7 weeks ago
  3. d961497 Fix building with latest compiler. am: b9b96960c2 by Joel Galenson · 7 weeks ago
  4. b9b9696 Fix building with latest compiler. by Joel Galenson · 8 weeks ago
  5. e02fca6 Update TEST_MAPPING am: 8272e4a814 am: 913bcd19e5 am: fcea958918 by Joel Galenson · 5 months ago


A port of MUSL's libm to Rust.


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.


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

cargo +nightly bench --all


Please check CONTRIBUTING.md


Licensed under either of

at your option.


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.