Sin descripción

Viral B. Shah 5f1aa85344 Add @lindahua 's libm benchmark. hace 10 años
amd64 8b59bbc18b Export ldexp aliases on Windows hace 11 años
arm 6146957c5e Use uint32_t on ARM, not non-standard __uint32_t hace 10 años
bsdsrc ec41733ce8 add DLLEXPORT to bsdsrc files hace 11 años
i387 923ff3768f don't use system machine/npx.h on OS X either, since it may not exists and isn't necessary hace 10 años
ia64 0affa5be19 Enable stack protection in all .S files hace 11 años
include 4cb9231f1a Removed some uses of sys/types.h hace 10 años
ld128 18f475de56 add DLLEXPORT to i387 and amd64 assembly (win32 target) and ld80/ld128 files hace 11 años
ld80 18f475de56 add DLLEXPORT to i387 and amd64 assembly (win32 target) and ld80/ld128 files hace 11 años
mips 00e0e7e5ee Add Make.files for all architectures. hace 12 años
powerpc 00e0e7e5ee Add Make.files for all architectures. hace 12 años
sparc64 0affa5be19 Enable stack protection in all .S files hace 11 años
src 4cb9231f1a Removed some uses of sys/types.h hace 10 años
test 5f1aa85344 Add @lindahua 's libm benchmark. hace 10 años
.gitignore 0c307a220b add .pc to .gitignore hace 10 años
.mailmap f5d2bc53f9 Add mailmap hace 12 años
LICENSE.md fa07d51db6 Fix and improve documentation about licenses hace 11 años
Make.inc c41813f64b Fix comment about SOVERSION hace 10 años
Makefile 1f77ae0208 Separate SOVERSION from release version hace 10 años
README.md 85a0f204c3 revert newline changes from previous commit hace 10 años
Symbol.map 16b9264f9d Import entire msun from FreeBSD. hace 13 años
openlibm.pc.in 5b16546ddd Added pkg-config support hace 10 años

README.md

OpenLibm

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.

History

The OpenLibm code derives from the FreeBSD msun implementation, which in turn derives from FDLIBM 5.3. 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.

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.

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.