rust/library/compiler-builtins/libm
Trevor Gross 8d70be87e6 Run cargo fmt on all projects
Apply the same formatting rules to both `libm` and `compiler-builtins`.
2025-04-19 19:05:49 -04:00
..
src Run cargo fmt on all projects 2025-04-19 19:05:49 -04:00
build.rs libm: Flatten the libm/libm directory 2025-04-19 17:20:24 -04:00
Cargo.toml libm: Flatten the libm/libm directory 2025-04-19 17:20:24 -04:00
CHANGELOG.md chore: release v0.2.11 2024-10-28 20:08:07 +00:00
configure.rs Run cargo fmt on all projects 2025-04-19 19:05:49 -04:00
CONTRIBUTING.md Switch musl from a script download to a submodule 2025-01-28 00:39:45 -06:00
LICENSE.txt libm: Flatten the libm/libm directory 2025-04-19 17:20:24 -04:00
README.md libm: Flatten the libm/libm directory 2025-04-19 17:20:24 -04:00

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

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.