Jorge Aparicio ce02130e55 omit bounds check in release mode
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
2018-07-25 13:16:10 -05:00
2018-07-12 20:19:42 -05:00
2018-07-25 13:16:10 -05:00
2018-07-25 13:16:10 -05:00
2018-07-17 15:08:22 -05:00
2018-07-12 00:44:28 -05:00
2018-07-14 12:20:10 -05:00
2018-07-25 13:16:10 -05:00
2018-07-18 11:48:47 -05:00
2018-07-12 00:44:28 -05:00
2018-07-12 00:44:28 -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-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

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
No description provided
Readme 793 KiB
Languages
Rust 98.5%
Dockerfile 1.2%
Shell 0.3%