rust/library/compiler-builtins/libm
bors[bot] ff30d74e0f Merge rust-lang/libm#88
88: add license and other comments to existing files r=japaric a=erikdesjardins

re rust-lang/libm#73

Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-14 15:13:46 +00:00
..
cb test source importing this crate 2018-07-12 20:19:42 -05:00
ci make cargo fmt in ci/script.sh optional 2018-07-13 22:15:21 -05:00
src Merge rust-lang/libm#88 2018-07-14 15:13:46 +00:00
test-generator implement log1p and log1pf 2018-07-14 02:13:12 -04:00
.gitignore initial commit 2018-07-12 00:44:28 -05:00
.travis.yml run cargo fmt -- --check on beta 2018-07-13 22:10:08 -05:00
Cargo.toml v0.1.0 2018-07-13 19:38:51 -05:00
CHANGELOG.md v0.1.0 2018-07-13 19:38:51 -05:00
CONTRIBUTING.md update CONTRIBUTING 2018-07-13 23:34:37 -05:00
LICENSE-APACHE initial commit 2018-07-12 00:44:28 -05:00
LICENSE-MIT initial commit 2018-07-12 00:44:28 -05:00
README.md README: note that this crate is on crates.io and already usable 2018-07-13 20:25:27 -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);
}

Not all the math functions are available at the moment. Check the API docs to learn what's currently supported.

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.