• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# `libm`
2
3A port of [MUSL]'s libm to Rust.
4
5[MUSL]: https://www.musl-libc.org/
6
7## Goals
8
9The short term goal of this library is to [enable math support (e.g. `sin`, `atan2`) for the
10`wasm32-unknown-unknown` target][wasm] (cf. [rust-lang/compiler-builtins][pr]). The longer
11term goal is to enable [math support in the `core` crate][core].
12
13[wasm]: https://github.com/rust-lang/libm/milestone/1
14[pr]: https://github.com/rust-lang/compiler-builtins/pull/248
15[core]: https://github.com/rust-lang/libm/milestone/2
16
17## Already usable
18
19This crate is [on crates.io] and can be used today in stable `#![no_std]` programs.
20
21The API documentation can be found [here](https://docs.rs/libm).
22
23[on crates.io]: https://crates.io/crates/libm
24
25## Benchmark
26[benchmark]: #benchmark
27
28The benchmarks are located in `crates/libm-bench` and require a nightly Rust toolchain.
29To run all benchmarks:
30
31> cargo +nightly bench --all
32
33## Contributing
34
35Please check [CONTRIBUTING.md](CONTRIBUTING.md)
36
37## License
38
39Licensed under either of
40
41- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
42  http://www.apache.org/licenses/LICENSE-2.0)
43- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
44
45at your option.
46
47### Contribution
48
49Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the
50work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
51additional terms or conditions.
52