rust/library/compiler-builtins/libm
Trevor Gross 360d3ee184 Add float and integer traits from compiler-builtins
In preparation of adding generic algorithms to `libm`, add the traits
from `compiler-builtins`.

Eventually we should be able to unify the two crates so we don't have
duplicate implementations.
2024-10-29 03:46:45 -05:00
..
.github/workflows Combine the WASM CI job with the others 2024-10-28 20:53:35 -05:00
ci Add an "arch" Cargo feature that is on by default 2024-10-28 22:12:13 -05:00
crates Add an "arch" Cargo feature that is on by default 2024-10-28 22:12:13 -05:00
src Add float and integer traits from compiler-builtins 2024-10-29 03:46:45 -05:00
.editorconfig add generic libm helper 2023-01-17 20:41:24 +01:00
.git-blame-ignore-revs Add a .git-blame-ignore-revs file 2024-10-26 20:30:41 -05:00
.gitignore Introduce musl-math-sys for bindings to musl math symbols 2024-10-28 12:59:38 -05:00
.rustfmt.toml Add a rustfmt.toml file matching rust-lang/rust 2024-10-26 20:28:28 -05:00
build.rs Add an "arch" Cargo feature that is on by default 2024-10-28 22:12:13 -05:00
Cargo.toml Add an "arch" Cargo feature that is on by default 2024-10-28 22:12:13 -05:00
CHANGELOG.md chore: release v0.2.11 2024-10-28 20:08:07 +00:00
CONTRIBUTING.md Rename the musl-bitwise-tests feature to test-musl-serialized 2024-10-25 20:57:19 -04:00
LICENSE.txt Update licensing to MIT AND (MIT OR Apache-2.0) 2024-10-26 17:09:57 -05:00
README.md Set the MSRV to 1.63 and document it as such 2024-10-27 22:47:06 -05: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 http://opensource.org/licenses/MIT).

Contribution

Contributions are licensed under both the MIT license and the Apache License, Version 2.0 (LICENSE-APACHE or http://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.