Commit graph

72 commits

Author SHA1 Message Date
Ed Schouten
5d6cb09b96 Change existing code to use CMPLX*() instead of cpack*() where possible.
I am currently working on building openlibm against stock copies of
<math.h>, instead of the openlibm.h header. It seems that a C compliant
<math.h> header can be used as a drop-in replacement for openlibm.h,
with the exception that it lacks cpack*().

In FreeBSD SVN r275819 I patched up the math library by replacing
cpack*() by CMPLX*(). That way many functions become less tied to the
intrinsics of the math library. Make the same change to openlibm.
2015-01-08 12:02:56 +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