Нема описа

Viral B. Shah 557ac71eaf Add license information to libm-bench.cpp пре 10 година
amd64 8b3b520675 Fix #35 пре 10 година
arm 6146957c5e Use uint32_t on ARM, not non-standard __uint32_t пре 10 година
bsdsrc ec41733ce8 add DLLEXPORT to bsdsrc files пре 11 година
i387 923ff3768f don't use system machine/npx.h on OS X either, since it may not exists and isn't necessary пре 10 година
ia64 0affa5be19 Enable stack protection in all .S files пре 11 година
include 4cb9231f1a Removed some uses of sys/types.h пре 10 година
ld128 52c901a68c Import long double versions from OpenBSD. пре 10 година
ld80 9ecf223fc1 Get the ld80 routines from OpenBSD to build on mac and linux. пре 10 година
mips 00e0e7e5ee Add Make.files for all architectures. пре 12 година
powerpc 00e0e7e5ee Add Make.files for all architectures. пре 12 година
sparc64 0affa5be19 Enable stack protection in all .S files пре 11 година
src d8c909a980 Add all the complex declarations to openlibm.h. пре 10 година
test 557ac71eaf Add license information to libm-bench.cpp пре 10 година
.gitignore 0c307a220b add .pc to .gitignore пре 10 година
.mailmap f5d2bc53f9 Add mailmap пре 12 година
LICENSE.md e5c38c3e8b README and LICENSE updates. пре 10 година
Make.inc 9ecf223fc1 Get the ld80 routines from OpenBSD to build on mac and linux. пре 10 година
Makefile 1f77ae0208 Separate SOVERSION from release version пре 10 година
README.md e5c38c3e8b README and LICENSE updates. пре 10 година
Symbol.map 16b9264f9d Import entire msun from FreeBSD. пре 13 година
openlibm.pc.in 5b16546ddd Added pkg-config support пре 10 година

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 and OpenBSD libm implementations, 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.