Commit graph

294 commits

Author SHA1 Message Date
Ed Schouten
b6cd89849e Don't let tgammal() modify signgam. Only lgamma*() should modify it.
Letting tgammal() modify signgam has two disadvantages:

- It breaks valid code that assumes that the value of signgam is not
  clobbered by calls to tgammal().
- It makes this function depend on the presence of signgam. signgam is
  an X/Open System Interface. It is not part of the C standard.
2015-01-08 09:49:31 +01:00
Viral B. Shah
0b2a647742 Merge pull request #74 from NuxiNL/master
Portability fixes
2015-01-08 11:09:22 +05:30
Ed Schouten
78f622e84a Use endianness definitions provided by GCC or Clang if available.
Instead of using all sorts of operating system specific constructs, we
can just query the compiler which byte order is being used. This has the
advantage that the code builds on new platforms without any tweaks.
2015-01-07 22:33:54 +01:00
Ed Schouten
9a48c87386 Don't attempt to pull in <sys/cdefs.h> directly.
<sys/cdefs.h> is not a standard header. Instead, we'd better pull in a
common header like <stdio.h>. It is very likely that such a header
already provides the necessary bits.
2015-01-07 22:22:52 +01:00
Ed Schouten
f9fd21c96f Don't define __ISO_C_VISIBLE unconditionally.
__ISO_C_VISIBLE is already defined on FreeBSD. By default, it has a
value of 2011. This causes a lot of compiler warnings.
2015-01-07 22:20:56 +01:00
Ed Schouten
f835657bd8 Remove checks against header guards.
It seems that this header conditionally tests whether <complex.h> is
included, as the 'complex' keyword is otherwise not available. This
version of math_private.h includes <complex.h> unconditionally, so there
is no need to test against this.
2015-01-07 22:11:36 +01:00
Ed Schouten
71f60ec632 Prevent the use of deprecated or internal functions if possible.
The finite() function has been superseded by isfinite(). There is also
no need to use scalb(), as the exponent is also an integer value. We can
simply use scalbn().

There is also no need to use __isnanf(). The values passed are
guaranteed to be of type float, meaning we can safely use the standard
isnan().
2015-01-07 22:07:48 +01:00
Ed Schouten
7df63d456e Remove unneeded tests for <sys/cdefs.h>.
This test is also present in FreeBSD's <machine/ieeefp.h>. For FreeBSD
it makes sense, but for a portable math library, we cannot assume that
the system has a header file like <sys/cdefs.h> and that it uses a
common header guard.
2015-01-07 22:02:40 +01:00
Viral B. Shah
b44ec547f1 Merge pull request #73 from tkelman/cp-dashf
add -f flag to cp in install target
2015-01-07 22:30:03 +05:30
Tony Kelman
ecfaad0dec try being consistent about quoting to disable arm build from osx 2015-01-06 21:37:28 -08:00
Tony Kelman
619f810223 add -f flag to cp in install target 2015-01-06 21:26:48 -08:00
Viral B. Shah
bfc0987270 Fix broken travis file. 2015-01-06 09:27:02 +05:30
Viral B. Shah
15007d5476 Exclude arm32 builds on os x. 2015-01-06 09:24:06 +05:30
Viral B. Shah
769a422f06 Enable tests on OS X too.
Add Travis badge.
2015-01-05 23:48:29 +05:30
Viral B. Shah
79affe971d Disable email notifications in Travis. 2015-01-05 23:33:12 +05:30
Viral B. Shah
443e13ece7 Merge pull request #72 from talex5/travis
Fix build on ARM and add Travis tests
2015-01-05 23:24:04 +05:30
Thomas Leonard
9101f61238 Added Travis test script
This builds Openlibm on the Travis build host (x86) and also
cross-compiles to ARM.

Note: the tests currently fail on ARM, as noted in
https://github.com/JuliaLang/openlibm/issues/18
2015-01-05 11:36:43 +00:00
Thomas Leonard
9c1af7f81e Don't build complex long double functions on ARM
ARM doesn't have long doubles.
2015-01-05 11:36:43 +00:00
Thomas Leonard
3ac6130b34 Remove test binaries too on "make clean" 2015-01-05 10:35:11 +00:00
Viral B. Shah
c0137793e2 Merge pull request #70 from JuliaLang/sb/bench
change include path to build on linux, fix .gitignore
2014-12-05 15:23:09 +05:30
Simon Byrne
d5140c2d34 change include path to build on linux, fix .gitignore 2014-12-05 09:33:07 +00:00
Viral B. Shah
73efb79032 Remove architectures that haven't been tested. 2014-12-05 10:42:57 +05:30
Viral B. Shah
168467f09a As discussed in #69, this only requires a minor version number bump. 2014-12-05 10:35:30 +05:30
Viral B. Shah
557ac71eaf Add license information to libm-bench.cpp 2014-12-05 10:34:39 +05:30
Viral B. Shah
e5c38c3e8b README and LICENSE updates. 2014-12-05 00:44:29 +05:30
Viral B. Shah
d8c909a980 Add all the complex declarations to openlibm.h. 2014-12-05 00:37:39 +05:30
Viral B. Shah
b7da33c990 Replace math.h with openlibm.h in the new complex math functions. 2014-12-05 00:29:54 +05:30
Viral B. Shah
9b7fb281fa Update Make.files 2014-12-05 00:24:55 +05:30
Viral B. Shah
da782e78d9 Add various complex math routines from OpenBSD. 2014-12-05 00:13:36 +05:30
Viral B. Shah
f876e59885 Merge pull request #69 from JuliaLang/vs/longdouble
Long double versions of math functions
2014-12-04 23:58:57 +05:30
Viral B. Shah
9ecf223fc1 Get the ld80 routines from OpenBSD to build on mac and linux.
Bump version number and SO major version, since we have
introduced new long double APIs.
2014-12-04 23:56:11 +05:30
Viral B. Shah
52c901a68c Import long double versions from OpenBSD. 2014-12-04 23:11:16 +05:30
Viral B. Shah
691b989ba3 Remove files with problematic license. Fix #33. 2014-12-04 21:50:53 +05:30
Viral B. Shah
1367cb053b Update licenses - the test files are LGPL'ed. 2014-12-04 21:50:28 +05:30
Viral B. Shah
8b3b520675 Fix #35 2014-12-04 21:41:37 +05:30
Viral B. Shah
d64cc364e0 Add make bench for building the benchmarks 2014-12-04 21:27:19 +05:30
Viral B. Shah
1baf1d3e47 Update gitignore 2014-12-04 17:47:20 +05:30
Viral B. Shah
e919db5f97 Merge branch 'master' of github.com:JuliaLang/openlibm 2014-12-04 17:46:46 +05:30
Viral B. Shah
5f1aa85344 Add @lindahua 's libm benchmark. 2014-12-04 17:46:19 +05:30
Viral B. Shah
532fe48cfd Add OpenLibm url - http://openlibm.org/ 2014-12-04 17:19:05 +05:30
Viral B. Shah
2c9b14cabd Merge pull request #67 from eschnett/master
Simplify code, avoid compiler warnings
2014-12-02 09:50:49 +05:30
Viral B. Shah
3ee2a6e6a9 Merge pull request #68 from talex5/type_includes
[RFC] Don't use sys/types.h
2014-12-01 18:40:35 +05:30
Thomas Leonard
4cb9231f1a Removed some uses of sys/types.h
It's useful to be able to compile openlibm in environments where this
doesn't exist (e.g. OS kernels).
2014-12-01 11:10:41 +00:00
Thomas Leonard
6146957c5e Use uint32_t on ARM, not non-standard __uint32_t 2014-11-27 15:58:19 +00:00
Thomas Leonard
9f4f2c6d57 u_int8_t, etc are non-standard, so define on all platforms 2014-11-27 14:47:36 +00:00
Viral B. Shah
9024a934cc Merge pull request #66 from sebastien-villemot/master
Increase single-precision test tolerance for erfc(1.2) and yn(3, 0.7).
2014-10-07 19:03:27 +05:30
Erik Schnetter
f5b2148a22 Use CFLAGS to build self-tests 2014-09-22 23:26:22 -04:00
Erik Schnetter
2b7040952e Add assert statements 2014-09-22 16:18:53 -04:00
Erik Schnetter
9c8e061ab1 Add comments describing valid argument range for internal functions 2014-09-22 16:01:47 -04:00
Erik Schnetter
ca3aaa3a82 Remove trailing whitespace in makefile 2014-09-19 11:48:43 -04:00