A high quality system independent, portable, open source libm implementation
This project is maintained by the Julia Project
OpenLibm is an effort to have a high quality, portable, standalone
C mathematical library (libm
).
It can be used standalone in applications and programming language
implementations.
The project was born out of a need to have a good libm
for the
Julia programming langage that worked
consistently across compilers and operating systems, and in 32-bit and
64-bit environments.
The OpenLibm code derives from the FreeBSD msun and OpenBSD libm implementations, which in turn derive from FDLIBM 5.3. Over and above that, OpenLibm itself has received a number of patches to make it platform independent and portable.
OpenLibm builds on Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, and DragonFly BSD. It builds with both GCC and clang. Although largely tested and widely used on the x86 and x86-64 architectures, OpenLibm also supports arm, aarch64, ppc64le, mips, wasm32, and s390(x).
PowerPC support for OpenLibm was graciously sponsored by IBM.