Fork of the OpenLibm math library with fx-9860G and fx-CG 50 support.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Viral B. Shah 5b0e7e9813
Update FUNDING.yml
3 years ago
.github Update FUNDING.yml 3 years ago
aarch64 Cleanup `ARCH` handling, reorganize `AArch64` and `Make.inc`. 6 years ago
amd64 Fix undefined reference to __fpgetprec on i386 7 years ago
arm Remove unused Symbol.map files. 8 years ago
bsdsrc WIP: Enable build on aarch64 7 years ago
docs Add musl-libc math library to resources. 3 years ago
i387 Fix invalid assembly directive caught by clang 6 years ago
include wasm32 support (#192) 4 years ago
ld80 Fix undefined reference to __fpgetprec on i386 7 years ago
ld128 Fix compilation on AArch64 5 years ago
mips Using cdefs-compat.h and stdint.h instead <sys/types.h> 5 years ago
powerpc Support powerpc 7 years ago
s390 s390(x) port 4 years ago
src Fix weak reference macro redefinition in wasm32 target 3 years ago
test update ULPs for s390 (#187) 4 years ago
wasm32 wasm32 support (#192) 4 years ago
.gitignore add .pc to .gitignore 9 years ago
.mailmap Add mailmap 10 years ago
.travis.yml travis: Add mips, mipsel, mips64el build. 5 years ago
LICENSE.md Update references to JuliaLang to point to JuliaMath (#182) 5 years ago
Make.inc Bump SONAME as discussed in #200 3 years ago
Makefile wasm32 support (#192) 4 years ago
README.md Update README with new OS and arch support 3 years ago
appveyor.yml Update appveyor.yml 5 years ago
openlibm.pc.in Update references to JuliaLang to point to JuliaMath (#182) 5 years ago

README.md

OpenLibm

Travis AppVeyor

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.

Platform support

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).

Build instructions

  1. Use GNU Make to build OpenLibm. This is make on most systems, but gmake on BSDs.
  2. Use make USEGCC=1 to build with GCC. This is the default on Linux and Windows.
  3. Use make USECLANG=1 to build with clang. This is the default on OS X, FreeBSD, and OpenBSD.
  4. Use make ARCH=wasm32 to build the wasm32 library with clang. Requires clang-8.
  5. Architectures are auto-detected. Use make ARCH=i386 to force a build for i386. Other supported architectures are i486, i586, and i686. GCC 4.8 is the minimum requirement for correct codegen on older 32-bit architectures.

Acknowledgements

PowerPC support for openlibm was graciously sponsored by IBM.