japaric/libm

A port of MUSL's libm to Rust.

639

stars

801

commits

Rust

primary language

Apr 20, 2025

updated

README

libm

A port of MUSL's libm to Rust.

[!NOTE]
The libm crate has been merged into the compiler-builtins repository. Future development work will take place there: https://github.com/rust-lang/compiler-builtins.

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

Minimum Rust version policy

This crate supports rustc 1.63 and newer.

License

Usage is licensed under the MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT).

Contribution

Contributions are licensed under both the MIT license and the Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0). 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 mentioned, without any additional terms or conditions.

See LICENSE.txt for full details.

Contributors

(top 30 of 54)

tgross35

383 commits

japaric

60 commits

alexcrichton

57 commits

bors[bot]

53 commits

japaric/libm

A port of MUSL's libm to Rust.

639

stars

801

commits

Rust

primary language

Apr 20, 2025

updated

README

libm

A port of MUSL's libm to Rust.

[!NOTE]
The libm crate has been merged into the compiler-builtins repository. Future development work will take place there: https://github.com/rust-lang/compiler-builtins.

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

Minimum Rust version policy

This crate supports rustc 1.63 and newer.

License

Usage is licensed under the MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT).

Contribution

Contributions are licensed under both the MIT license and the Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0). 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 mentioned, without any additional terms or conditions.

See LICENSE.txt for full details.

Contributors

(top 30 of 54)

tgross35

383 commits

japaric

60 commits

alexcrichton

57 commits

bors[bot]

53 commits

Languages

Rust

94.8%

Python

2.7%