1## OpenLibm 2 3[OpenLibm](http://www.openlibm.org) is an effort to have a high quality, portable, standalone 4C mathematical library ([`libm`](http://en.wikipedia.org/wiki/libm)). 5It can be used standalone in applications and programming language 6implementations. 7 8The project was born out of a need to have a good `libm` for the 9[Julia programming langage](http://www.julialang.org) that worked 10consistently across compilers and operating systems, and in 32-bit and 1164-bit environments. 12 13### History 14 15The OpenLibm code derives from the [FreeBSD 16msun](http://svnweb.freebsd.org/base/head/lib/msun/) and [OpenBSD 17libm](http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libm/src/) 18implementations, which in turn derives from [FDLIBM 195.3](http://www.netlib.org/fdlibm/). As a result, it includes a number 20of fixes and updates to FDLIBM that have accumulated over the years in 21`msun`, and optimized versions of many functions. 22 23### Platform support 24 25OpenLibm builds on Linux, Mac OS X, and Windows, and with little 26effort, should build on FreeBSD as well. It builds with both GCC and 27clang. Although largely tested on x86, it also includes experimental 28support for ARM. The original `msun` also includes support for mips, 29sparc64, powerpc, ia64, and alpha. These are present in the OpenLibm 30source tree, but no attempt has been made to build any of these. 31 32### Build instructions 33 341. `make` or `make USEGCC=1` to build with GCC. This is the default on 35 Linux and Windows. 362. `make USECLANG=1` to build with clang. This is the default on OS X. 37