#
336767 |
|
27-Jul-2018 |
dim |
MFC r327400 (by eadler):
cacos(3): correct spelling of 'I'
In some cases we had 'i' instead of 'I'.
PR: 195517 Submitted by: stephen
MFC r329259 (by eadler):
msun: signed overflow in atan2
As a component of atan2(y, x), the case of x == 1.0 is farmed out to atan(y). The current implementation of this comparison is vulnerable to signed integer underflow (that is, undefined behavior), and it's performed in a somewhat more complicated way than it need be. Change it to not be quite so cute, rather directly comparing the high/low bits of x to the specific IEEE-754 bit pattern that encodes 1.0.
Note that while there are three different e_atan* files in the relevant directory, only this one needs fixing. e_atan2f.c already compares against the full bit pattern encoding 1.0f, while e_atan2l.cuses bitwise-ands/ors/nots and so doesn't require a change.
Closes #130
Submitted by: Jeff Walden (@jswalden github PR #130) Reviewed by: bde
MFC r334721 (by cem):
clog.3, complex.3: Fix typos and igor style issues
PR: 228783 Reported by: Karsten <freebsd-bugzilla AT kkoenig.net>
MFC r336299 (by mmacy):
msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd
This corresponds to the latest status (hasn't changed in 9+ years) from openbsd of ld80/ld128 powl, and source cpowf, cpow, cpowl (the complex power functions for float complex, double complex, and long double complex) which are required for C99 compliance and were missing from FreeBSD. Also required for some numerical codes using complex numbered Hamiltonians.
Thanks to jhb for tracking down the issue with making weak_reference compile on powerpc.
When asked to review, bde said "I don't like it" - but provided no actionable feedback or superior implementations.
Discussed with: jhb Submitted by: jmd Differential Revision: https://reviews.freebsd.org/D15919
MFC r336563:
Recommit r336497: Fix powl, cpow, cpowf, and cpowl imports from OpenBSD
This is a follow-up to r336299.
* lib/msun/Makefile: . Remove polevll.c
* lib/msun/ld80/e_powl.c: . Copy contents of polevll.c to here. This is the only consumer of these functions. Make functions 'static inline'. . Make reducl a 'static inline' function.
* lib/msun/man/exp.3: . Remove BUGS section that no longer applies.
* lib/msun/src/math_private.h: . Remove prototypes of __p1evll() and __polevll()
* lib/msun/src/s_cpow.c: * lib/msun/src/s_cpowf.c: * lib/msun/src/s_cpowl.c . Include math_private.h. . Use the CMPLX macro from either C99 or math_private.h (depends on compiler support) instead of the problematic use of complex I.
Submitted by: Steve Kargl <sgk@troutmask.apl.washington.edu> PR: 229876
|
#
334654 |
|
05-Jun-2018 |
kib |
MFC r333577: Add implementations for clog(3), clogf(3), and clogl(3).
PR: 216863
|
#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
251121 |
|
30-May-2013 |
das |
I'm happy to finally commit stephen@'s implementations of cacos, cacosh, casin, casinh, catan, and catanh. Thanks to stephen@ and bde@ for working on these.
Submitted by: stephen@ Reviewed by: bde
|
#
250990 |
|
25-May-2013 |
ed |
Add C11 macros CMPLX(), CMPLXF() and CMPLXL().
Clang allows us to initialize complex numbers using an array initializer, casted to a complex type. GCC has a builtin called __builtin_complex().
|
#
230278 |
|
17-Jan-2012 |
ed |
Only use the static assertion when __generic is available.
Reported by: tijl
|
#
229594 |
|
05-Jan-2012 |
ed |
Remove redundant inclusion of <sys/cdefs.h>.
Mea culpa.
|
#
229590 |
|
05-Jan-2012 |
ed |
Make _Complex_I a proper float _Complex when using GCC 4.2.
It turns out our GCC has quite an interesting bug:
typeof(1.0fi) != float _Complex typeof((float _Complex)1.0fi) != float _Complex typeof((float _Complex)1.0i) == float _Complex
In other words: if casting to an equal size, GCC seems to take a shortcut. By casting down from a double to a float, GCC doesn't take this shortcut, yielding the proper type.
To prevent foot-shooting, add a _Static_assert() to guarantee that _Complex_I is always a float _Complex. I'm not going to MFC this part of the diff.
MFC after: 2 weeks
|
#
226458 |
|
17-Oct-2011 |
das |
Add c{cos,sin,tan}{,h}{,f} functions. This is joint work with bde and kargl.
|
#
219379 |
|
07-Mar-2011 |
das |
Add missing declarations that I intended to commit with r219359. Not sure why we have math.h in lib/msun/ and complex.h in include/.
|
#
181377 |
|
07-Aug-2008 |
das |
Implement cproj{,f,l}().
|
#
181375 |
|
07-Aug-2008 |
das |
Annotate creal(), cimag(), and conj() with __pure2.
|
#
177761 |
|
30-Mar-2008 |
das |
Implement csqrtl().
|
#
177760 |
|
30-Mar-2008 |
das |
Hook hypotl() and cabsl() up to the build.
|
#
174617 |
|
15-Dec-2007 |
das |
Implement and document csqrt(3) and csqrtf(3).
|
#
174561 |
|
12-Dec-2007 |
das |
Implement carg(3) and cargf(3).
Rotting in an old src tree since: March 2005
|
#
133725 |
|
14-Aug-2004 |
stefanf |
Stop defining '_Complex' in a C99 environment, it is supposed to be a keyword.
|
#
133724 |
|
14-Aug-2004 |
stefanf |
Use tabulators after '#define'.
|
#
129864 |
|
30-May-2004 |
stefanf |
Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are needed for cases where GCC's builtin functions cannot be used and for compilers that don't know about them.
Approved by: das (mentor)
|
#
129861 |
|
30-May-2004 |
stefanf |
Remove the macros for creal{,f} and cimag{,f}. They failed to convert their arguments to the needed type and so the result type depended on the argument type. Fixing them isn't really worth the effort because GCC emits the same assembler code with or without them.
Not minded by: ru Approved by: das (mentor)
|
#
93032 |
|
23-Mar-2002 |
imp |
Breath deep and take __P out of the system include files.
# This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure.
|
#
78172 |
|
13-Jun-2001 |
ru |
Added skeleton <complex.h> (aligned with the POSIX.1-200x), mostly to fix the "-nostdinc WARNS=X" breakage caused by broken prototypes for cabs() and cabsl() in <math.h>.
Reimplemented cabs() and cabsl() using new complex numbers types and moved prototypes from <math.h> to <complex.h>.
|