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