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