OpenLibm/README.md

40 lines
1.4 KiB
Markdown
Raw Normal View History

2014-06-12 09:22:21 +02:00
## OpenLibm
2012-08-19 08:22:43 +02:00
2014-06-12 09:22:21 +02:00
OpenLibm is an effort to have a high quality, portable, standalone
C mathematical library ([`libm`](http://en.wikipedia.org/wiki/libm)).
It can be used standalone in applications
and programming language implementations.
2011-12-31 08:18:43 +01:00
The project was born out of a need to have a good `libm`
for the [Julia programming langage](http://www.julialang.org)
that worked consistently across compilers and operating systems,
and in 32-bit and 64-bit environments.
2012-01-06 05:35:01 +01:00
2014-06-12 09:22:21 +02:00
### History
2012-07-03 17:30:34 +02:00
The OpenLibm code derives from the
[FreeBSD msun](http://svnweb.freebsd.org/base/head/lib/msun/) implementation,
which in turn derives from [FDLIBM 5.3](http://www.netlib.org/fdlibm/).
As a result, it includes a number of fixes and updates to FDLIBM
that have accumulated over the years in `msun`,
and optimized versions of many functions.
2012-07-03 17:30:34 +02:00
2014-06-12 09:22:21 +02:00
### Platform support
OpenLibm builds on Linux, Mac OS X, and Windows,
and with little effort, should build on FreeBSD as well.
It builds with both GCC and clang.
Although largely tested on x86,
it also includes experimental support for ARM.
The original `msun` also includes support for
mips, sparc64, powerpc, ia64, and alpha.
These are present in the OpenLibm source tree,
but no attempt has been made to build any of these.
2014-06-12 09:22:21 +02:00
### Build instructions
1. `make` or `make USEGCC=1` to build with GCC.
This is the default on Linux and Windows.
2. `make USECLANG=1` to build with clang.
This is the default on OS X.