Skip to content
This repository has been archived by the owner on Jul 15, 2018. It is now read-only.

japaric-archived/m

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSA: this crate has been deprecated in favor of libm

libm is a port of MUSL's libm. MUSL source code proved much easier to translate to Rust, and more importantly it was easier to write a test generator that didn't require compiling C code and that worked on a bunch of different architectures.

These two aspects make such a difference that we were able to port 30 math functions to Rust in less than 24 hours.

-@japaric, 2018-07-14


crates.io crates.io

m

A C free / pure Rust mathematical library ("libm") for no_std code

This is a port of OpenLibm.

License

The m crate is a port of the OpenLibm library, which contains code that is covered by various licenses:

The OpenLibm code derives from the FreeBSD msun and OpenBSD libm implementations, which in turn derives from FDLIBM 5.3. As a result, it has a number of fixes and updates that have accumulated over the years in msun, and also optimized assembly versions of many functions. These improvements are provided under the BSD and ISC licenses. The msun library also includes work placed under the public domain, which is noted in the individual files. Further work on making a standalone OpenLibm library from msun, as part of the Julia project is covered under the MIT license.

TL;DR OpenLibm contains code that is licensed under the 2-clause BSD, the ISC and the MIT licenses and code that is in the public domain. As a user of this code you agree to use it under these licenses. As a contributor, you agree to allow your code to be used under all these licenses as well.

Full text of the relevant licenses is in LICENSE.md.