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
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
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
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
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
8b3b520675
Fix #35
2014-12-04 21:41:37 +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
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
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
Erik Schnetter
e2138aed2e
Avoid compiler warnings
2014-09-19 11:48:34 -04:00
Erik Schnetter
c1a08f02af
Simplify code, avoid compiler warnings
2014-09-19 11:36:33 -04:00
Viral B. Shah
4a70b227d4
Do not export rem_pio2 from openlibm. It will be exported from openspecfun.
2014-07-09 19:56:28 -04:00
Viral B. Shah
08f66bcea4
Revert "You can't have you cake and eat it, too."
...
This reverts commit 10fed4ae49
.
2014-06-12 15:56:39 +05:30
Viral B. Shah
f9cc2db46e
Merge pull request #40 from weshatheleopard/patch-1
...
You can't have you cake and eat it, too.
2014-06-12 12:55:53 +05:30
Elliot Saba
e9d02ee729
Fix compilation by including cdefs-compat.h in math_private.h
...
Also fix redefinition of __pure2
2014-06-05 22:08:41 -07:00
Thomas Leonard
f22d7db106
Fixed build on ARM
...
Removed all long double support, since ARM doesn't have long doubles.
2014-05-26 10:55:49 +01:00
Thomas Leonard
15fa3252fc
Merge noinc branch
2014-05-19 15:29:33 +01:00
Milan Bouchet-Valat
5a0e3e9c5c
Fix missing includes
...
Last commit made defition of cpack() not available to files
which do not include openlibm.h.
2014-03-30 22:53:05 +02:00
Milan Bouchet-Valat
3e769e48b8
Move complex number declarations to openlibm.h
...
These are used by openspecfun, thus they need to be available
from public headers.
2014-03-29 11:24:31 +01:00
Jameson Nash
66e6f8ea91
normalize __WIN32__ to _WIN32, which is defined by all Windows compilers
2014-03-18 20:47:48 -04:00
Elliot Saba
7065fdf6c5
Remove {cdefs,types}-compat.h from openlibm.h
2014-02-08 21:35:14 -08:00
weshatheleopard
10fed4ae49
You can't have you cake and eat it, too.
...
If you declare zero=0.0, then USE it.
2014-01-31 16:34:46 -06:00
Jeff Bezanson
9ca11f20c6
updates to s_round.c from FreeBSD
2013-12-19 17:52:23 -05:00
Jeff Bezanson
3566e32d84
new polynomials for erff, by Steve Kargl
...
these are both faster and more accurate
see http://svnweb.freebsd.org/base/head/lib/msun/src/s_erff.c?view=log
2013-12-19 14:06:05 -05:00
Jeff Bezanson
89d232d114
more accurate comment for the x==1.0 hack
2013-12-14 15:49:02 -05:00
Jeff Bezanson
9bc257a323
special-case more accurate answer for exp(1.0)
2013-12-12 16:42:05 -05:00
Jameson Nash
f7c5ad7088
add DLLEXPORT to files in src and int isopenlibm() = 1
function"
2013-08-03 05:16:01 -04:00
Elliot Saba
4846e7d6c4
Remove debug printf()
2013-07-20 01:21:11 -07:00
Viral B. Shah
30852cae3b
Replace use of math.h with openlibm.h
2013-07-18 19:55:51 +05:30
Elliot Saba
e91e6dc990
Minor formatting to make sin/cos easier to read
2013-07-15 18:29:30 -07:00
Elliot Saba
0cf89fad5d
Add in sincos(), an efficient method of computing the sine and cosine of an angle together
2013-07-15 18:29:30 -07:00
Viral B. Shah
29af332f36
Add cpow from OpenBSD
...
Use clang by default on Darwin
Enable cpow tests
Fix #22
2013-07-14 18:33:56 +05:30
Jeff Bezanson
c9cf16d2de
add special cases for powers 3 and 4, in addition to 2
2013-04-03 14:40:47 -04:00
Jeff Bezanson
1b9b759b48
add exported names for ldexp
2013-03-02 21:11:39 -05:00
Steven G. Johnson
67d2324543
use C11 CMPLX or gcc __builtin_complex if available to define cpack macros
2012-12-20 14:04:23 -05:00
Jeff Bezanson
4ebe327d24
fix comparison syntax in s_nan.c
2012-11-01 15:09:48 -04:00
Mike Nolta
ec53659c6a
fixes for freebsd9
2012-10-30 17:54:30 -04:00
Keno Fischer
fed038b32f
Remove Leftover Makefiles from old build system
2012-05-26 17:06:20 -04:00
Keno Fischer
adb103acec
Build fixes for Windows
2012-05-25 21:25:13 -04:00
Keno Fischer
307d7361c5
automatic arch selection in Makefile
2012-05-25 16:24:37 -04:00
Keno Fischer
04e12006e5
address compiler warnings in #3
2012-05-24 23:45:05 -04:00
Keno Fischer
f0862df1db
Allow compilation of assembly files on OSX
2012-05-24 23:14:58 -04:00
Jameson Nash
ac201ff1ac
fpclassify definition
2012-05-22 19:02:48 -04:00
Jameson Nash
0df00dd0f7
initial attempt getting everything to build on windows
2012-04-08 20:03:36 -04:00
Viral B. Shah
68fae89b6a
Ignore __pure2 on linux as I don't know what to do about it.
2012-01-05 23:33:01 -05:00
Viral B. Shah
7129663350
OpenLIBM builds on linux.
...
Disable -std=c99 on linux for now, as gcc does freaks out in math_private.h
on the definition of IEEE_WORD_ORDER, and defines ieee_double_shape_type twice.
Disable building s_cbrtl.c for the time being as it requires ieeefp.h
2012-01-05 23:24:14 -05:00
Viral B. Shah
bbb5d6a574
Get the whole thing to compile. Disabled the inline stuff for now.
2012-01-01 15:24:23 +05:30
Viral B. Shah
d24a3296fa
Revert the changes for inline. With both gcc 4.2 and 4.6, the link
...
fails with:
ld: duplicate symbol ___ieee754_rem_pio2 in src/s_sin.o and src/s_cos.o for architecture x86_64
collect2: ld returned 1 exit status
2012-01-01 10:14:06 +05:30
Viral B. Shah
6cb8c2aaa0
The inline stuff was causing too much pain linking.
...
Disable inline stuff for now.
2012-01-01 01:35:33 +05:30
Viral B. Shah
2cd51ea4d5
Don't compile some files that are included in other files.
2012-01-01 00:52:54 +05:30
Viral B. Shah
cd520e4350
Get everything except a couple of files in ld128 to build with gcc.
...
A couple of small issues still remain with linking:
LINK all
/usr/bin/ranlib: file: libopenlibm.a(e_rem_pio2.o) has no symbols
/usr/bin/ranlib: file: libopenlibm.a(e_rem_pio2f.o) has no symbols
/usr/bin/ranlib: file: libopenlibm.a(k_cosf.o) has no symbols
/usr/bin/ranlib: file: libopenlibm.a(k_sinf.o) has no symbols
/usr/bin/ranlib: file: libopenlibm.a(k_tanf.o) has no symbols
LINK all
ld: duplicate symbol ___ieee754_rem_pio2 in src/s_sin.o and src/s_cos.o for architecture x86_64
collect2: ld returned 1 exit status
2011-12-31 19:43:04 +05:30
Viral B. Shah
f5fb927467
Build with gcc.
2011-12-31 19:26:51 +05:30
Viral B. Shah
ccd319c03c
Almost building the full thing.
2011-12-31 12:48:43 +05:30
Viral B. Shah
9f7ab322bb
Makefile
2011-12-31 01:10:24 +05:30
Viral B. Shah
394d97b5e2
198 out of 203 files build now.
2011-12-31 00:48:35 +05:30
Viral B. Shah
e4481ba487
Get a bunch of stuff to build with clang.
2011-12-31 00:25:58 +05:30
Viral B. Shah
9b7ae68a59
Get more files to build with clang.
2011-12-16 11:09:32 +05:30
Viral B. Shah
3c7b5cc6f7
Get much of src/ to build.
...
Use build.clang.sh or build.gcc.sh for the time being.
2011-12-16 11:00:31 +05:30
Viral B. Shah
b0b27a0ff4
Replace math.h with openlibm.h
...
Remove man
2011-12-15 11:54:24 +05:30
Viral B. Shah
51a63c3270
Comment out __FBSDID
2011-12-15 11:46:26 +05:30
Viral B. Shah
16b9264f9d
Import entire msun from FreeBSD.
2011-12-15 11:29:35 +05:30
Viral B. Shah
db4db9cf35
uint64_t -> u_int64_t
2011-08-13 10:43:52 +05:30
Viral B. Shah
b38406550b
Add k_log.h and k_logf.h
2011-08-13 10:27:34 +05:30
Viral B. Shah
d8bc4c085d
BYTE_ORDER and ENDIAN detection
2011-08-13 10:22:37 +05:30
Viral B. Shah
aba7ae910f
Initialize repo. FreeBSD 8.2 msun code + some tweaks
2011-08-13 00:31:25 +05:30