Fork of the OpenLibm math library with fx-9860G and fx-CG 50 support.
Go to file
Ed Schouten 24cec16fcc Remove references to _DECLARE_C99_LDBL_MATH.
When building openlibm with Clang, I seem to get a lot of warnings in
ld80/ related to some prototypes for long double functions that are
missing. This seems to be because we don't define _DECLARE_C99_LDBL_MATH
anywhere.

It seems that this definition only existed on FreeBSD, as certain C99
math functions were not present yet. The prototypes were simply there as
placeholders. This flag has been removed upstream (FreeBSD SVN r236148).
2015-01-08 11:07:03 +01:00
amd64 Remove unneeded tests for <sys/cdefs.h>. 2015-01-07 22:02:40 +01:00
arm Use uint32_t on ARM, not non-standard __uint32_t 2014-11-27 15:58:19 +00:00
bsdsrc Prevent the use of deprecated or internal functions if possible. 2015-01-07 22:07:48 +01:00
i387 don't use system machine/npx.h on OS X either, since it may not exists and isn't necessary 2014-06-27 17:45:02 -05:00
include Use endianness definitions provided by GCC or Clang if available. 2015-01-07 22:33:54 +01:00
ld80 Don't let tgammal() modify signgam. Only lgamma*() should modify it. 2015-01-08 09:49:31 +01:00
ld128 Don't let tgammal() modify signgam. Only lgamma*() should modify it. 2015-01-08 09:49:31 +01:00
src Remove references to _DECLARE_C99_LDBL_MATH. 2015-01-08 11:07:03 +01:00
test change include path to build on linux, fix .gitignore 2014-12-05 09:33:07 +00:00
.gitignore add .pc to .gitignore 2014-06-20 10:08:16 -04:00
.mailmap Add mailmap 2012-08-24 20:53:18 +05:30
.travis.sh Added Travis test script 2015-01-05 11:36:43 +00:00
.travis.yml try being consistent about quoting to disable arm build from osx 2015-01-06 21:37:28 -08:00
LICENSE.md README and LICENSE updates. 2014-12-05 00:44:29 +05:30
Make.inc As discussed in #69, this only requires a minor version number bump. 2014-12-05 10:35:30 +05:30
Makefile add -f flag to cp in install target 2015-01-06 21:26:48 -08:00
openlibm.pc.in Added pkg-config support 2014-05-19 15:30:10 +01:00
README.md Enable tests on OS X too. 2015-01-05 23:48:29 +05:30
Symbol.map Import entire msun from FreeBSD. 2011-12-15 11:29:35 +05:30

OpenLibm

Build Status

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.