this eliminates panicking branches in the optimized version of the functions. We keep the bounds checks when running the test suite to check that we never do an out of bounds access. This commit also adds a "must link" test that ensures that future changes in our implementation won't add panicking branches. closes #129
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-nursery/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 like this:
#![no_std]
extern crate libm;
use libm::F32Ext; // adds methods to `f32`
fn foo(x: f32) {
let y = x.sqrt();
let z = libm::truncf(x);
}
The API documentation can be found here.
Contributing
Please check CONTRIBUTING.md
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
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.
Description
Languages
Rust
98.5%
Dockerfile
1.2%
Shell
0.3%