#
0dd5a560 |
| 28-Jan-2024 |
Steve Kargl <kargl@FreeBSD.org> |
lib/msun: Cleanup after $FreeBSD$ removal
Remove no longer needed explicit inclusion of sys/cdefs.h.
PR: 276669 MFC after: 1 week
|
#
dc36d6f9 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
455b2ccd |
| 14-Dec-2021 |
Mark Murray <markm@FreeBSD.org> |
* lib/msun/Makefile: . Disconnect b_exp.c and b_log.c from the build.
* lib/msun/bsdsrc/b_exp.c: . Replace scalb() usage with C99's ldexp(). . Replace finite(x) usage with C99's isfinite().
* lib/msun/Makefile: . Disconnect b_exp.c and b_log.c from the build.
* lib/msun/bsdsrc/b_exp.c: . Replace scalb() usage with C99's ldexp(). . Replace finite(x) usage with C99's isfinite(). . Whitespace changes towards style(9). . Remove include of "mathimpl.h". It is no longer needed. . Remove #if 0 ... #endif code, which has been present since svn r93211 (2002-03-26). . New minimax polynomial coefficients. . Add comments to explain origins of some constants. . Use ansi-C prototype. Remove K&R prototype. Add static to prototype.
* lib/msun/bsdsrc/b_log.c: . Remove include of "mathimpl.h". It is no longer needed. . Fix comments to actually describe the code. . Reduce minimax polynomial from degree 4 to degree 3. This uses newly computed coefficients. . Use ansi-C prototype. Remove K&R prototype. Add static to prototype. . Remove volatile in declaration of u1. . Alphabetize decalaration list. . Whitespace changes towards style(9). . In argument reduction of x to g and m, replace use of logb() and ldexp() with a single call to frexp(). Add code to get 1 <= g < 2. . Remove #if 0 ... #endif code, which has been present since svn r93211 (2002-03-26). . The special case m == -1022, replace logb() with ilogb().
* lib/msun/bsdsrc/b_tgamma.c: . Update comments. Fix comments where needed. . Add float.h to get LDBL_MANT_DIG for weak reference of tgammal to tgamma. . Remove include of "mathimpl.h". It is no longer needed. . Use "math.h" instead of <math.h>. . Add '#include math_private.h" . Add struct Double from mathimpl.h and include b_log.c and b_exp.c. . Remove forward declarations of neg_gam(), small_gam(), smaller_gam, large_gam() and ratfun_gam() by re-arranging the code to move these function above their first reference. . New minimax coefficients for polynomial in large_gam(). . New splitting of a0 into a0hi nd a0lo, which include additional bits of precision. . Use ansi-C prototype. Remove K&R prototype. . Replace the TRUNC() macro with a simple cast of a double entities to float before assignment (functional changes). . Replace sin(M_PI*z) with sinpi(z) and cos(M_PI*(0.5-z)) with cospi(0.5-z).
Submitted by: Steve Kargl Differential Revision: https://reviews.freebsd.org/D33444 Reviewed by: pfg
show more ...
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
afced35c |
| 27-Dec-2019 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
msun: drop clause 3 from the Berkeley license.
Per the University California Regents letter, drop the so-called "advertisement" clause.
Discussed with: bde, kargl (2017) Differential Revision: http
msun: drop clause 3 from the Berkeley license.
Per the University California Regents letter, drop the so-called "advertisement" clause.
Discussed with: bde, kargl (2017) Differential Revision: https://reviews.freebsd.org/D22928
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
937d37fc |
| 19-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325842 through r325998.
|
#
df57947f |
| 18-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
spdx: initial adoption of licensing ID tags.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensou
spdx: initial adoption of licensing ID tags.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
Initially, only tag files that use BSD 4-Clause "Original" license.
RelNotes: yes Differential Revision: https://reviews.freebsd.org/D13133
show more ...
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0 |
|
#
7cd50f4d |
| 22-Feb-2008 |
David Schultz <das@FreeBSD.org> |
Eliminate some warnings.
|
Revision tags: release/6.3.0_cvs, release/6.3.0 |
|
#
e95cc9b7 |
| 02-May-2007 |
Bruce Evans <bde@FreeBSD.org> |
Fix tgamma() on some special args: (1) tgamma(-Inf) returned +Inf and failed to raise any exception, but should always have raised an exception, and should behave like tgamma(negative integer
Fix tgamma() on some special args: (1) tgamma(-Inf) returned +Inf and failed to raise any exception, but should always have raised an exception, and should behave like tgamma(negative integer). (2) tgamma(negative integer) returned +Inf and raised divide-by-zero, but should return NaN and raise "invalid" on any IEEEish system. (3) About half of the 2**52 negative intgers between -2**53 and -2**52 were misclassified as non-integers by using floor(x + 0.5) to round to nearest, so tgamma(x) was wrong (+-0 instead of +Inf and now NaN) on these args. The floor() expression is hard to use since rounding of (x + 0.5) may give x or x + 1, depending on |x| and the current rounding mode. The fixed version uses ceil(x) to classify x before operating on x and ends up being more efficient since ceil(x) is needed anyway. (4) On at least the problematic args in (3), tgamma() raised a spurious inexact. (5) tgamma(large positive) raised divide-by-zero but should raise overflow. (6) tgamma(+Inf) raised divide-by-zero but should not raise any exception. (7) Raise inexact for tiny |x| in a way that has some chance of not being optimized away.
The fix for (5) and (6), and probably for (2), also prevents -O optimizing away the exception.
PR: 112180 (2) Standards: Annex F in C99 (IEC 60559 binding) requires (1), (2) and (6).
show more ...
|
#
dd936b27 |
| 02-May-2007 |
Bruce Evans <bde@FreeBSD.org> |
Document (in a comment) the current (slightly broken) handling of special values in more detail, and change the style of this comment to be closer to fdlibm and C99: - tgamma(-Inf) was undocumented a
Document (in a comment) the current (slightly broken) handling of special values in more detail, and change the style of this comment to be closer to fdlibm and C99: - tgamma(-Inf) was undocumented and is wrong (+Inf, should be NaN) - tgamma(negative integer) is as intended (+Inf) but not best for IEEE-754 (NaN) - tgamma(-0) was documented as being wrong (+Inf) but was correct (-Inf) - documentation of setting of exceptions (overflow, etc.) was more complete here than in most of libm, but was further from matching the actual setting than in most of libm, due to various bugs here (primarily, always evaluating +Inf one/zero and getting unwanted divide-by-zero exceptions from this). Now the actual behaviour with gcc -O0 is documented. Optimization still breaks setting of exceptions all over libm, so nothing can depend on this working. - tgamma(NaN)'s exception was documented as being wrong (invalid) but was correct (no exception with IEEEish NaNs).
Finish (?) rev.1.5. gamma was not renamed to tgamma in one place.
Finish (?) rev.1.6. errno.h was not completely removed.
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0 |
|
#
0b42281e |
| 19-Sep-2005 |
Bruce Evans <bde@FreeBSD.org> |
Fixed aliasing bugs in TRUNC() by using the fdlibm macros for access to doubles as bits. fdlibm-1.1 had similar aliasing bugs, but these were fixed by NetBSD or Cygnus before a modified version of f
Fixed aliasing bugs in TRUNC() by using the fdlibm macros for access to doubles as bits. fdlibm-1.1 had similar aliasing bugs, but these were fixed by NetBSD or Cygnus before a modified version of fdlibm was imported in 1994. TRUNC() is only used by tgamma() and some implementation-detail functions. The aliasing bugs were detected by compiling with gcc -O2 but don't seem to have broken tgamma() on i386's or amd64's. They broke my modified version of tgamma().
Moved the definition of TRUNC() to mathimpl.h so that it can be fixed in one place, although the general version is even slower than necessary because it has to operate on pointers to volatiles to handle its arg sometimes being volatile. Inefficiency of the fdlibm macros slows down libm generally, and tgamma() is a relatively unimportant part of libm. The macros act as if on 32-bit words in memory, so they are hard to optimize to direct actions on 64-bit double registers for (non-i386) machines where this is possible. The optimization is too hard for gcc on amd64's, and declaring variables as volatile makes it impossible.
show more ...
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0 |
|
#
17519e9b |
| 16-Dec-2004 |
David Schultz <das@FreeBSD.org> |
Cosmetic changes only: - style - remove unused variables - de-support VAX
Inspired by: bin/42388
|
Revision tags: release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
46d7c297 |
| 26-Mar-2002 |
Bruce Evans <bde@FreeBSD.org> |
Resurrect Lite1's gamma() as C99's tgamma(). Minimal changes.
|
#
69160b1e |
| 22-Mar-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Remove __P() usage.
|
#
84c63a15 |
| 21-Mar-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Fix SCM ID's.
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
65c67357 |
| 30-Sep-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Add __FBSDID()s to libm
|
Revision tags: release/4.3.0_cvs, release/4.3.0, release/4.2.0, release/4.1.1_cvs, release/4.1.0, release/3.5.0_cvs, release/4.0.0_cvs, release/3.4.0_cvs, release/3.3.0_cvs, release/3.2.0, release/3.1.0, release/3.0.0, release/2.2.8, release/2.2.7, release/2.2.6, release/2.2.5_cvs, release/2.2.2_cvs, release/2.2.1_cvs, release/2.2.0, release/2.1.7_cvs, release/2.1.6_cvs, release/2.1.6.1, release/2.1.5_cvs, release/2.1.0_cvs, release/2.0.5_cvs, release/2.0, release/1.1.5.1_cvs |
|
#
58f0484f |
| 27-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite Lib Sources
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0 |
|
#
7cd50f4d |
| 22-Feb-2008 |
David Schultz <das@FreeBSD.org> |
Eliminate some warnings.
|
Revision tags: release/6.3.0_cvs, release/6.3.0 |
|
#
e95cc9b7 |
| 02-May-2007 |
Bruce Evans <bde@FreeBSD.org> |
Fix tgamma() on some special args: (1) tgamma(-Inf) returned +Inf and failed to raise any exception, but should always have raised an exception, and should behave like tgamma(negative integer
Fix tgamma() on some special args: (1) tgamma(-Inf) returned +Inf and failed to raise any exception, but should always have raised an exception, and should behave like tgamma(negative integer). (2) tgamma(negative integer) returned +Inf and raised divide-by-zero, but should return NaN and raise "invalid" on any IEEEish system. (3) About half of the 2**52 negative intgers between -2**53 and -2**52 were misclassified as non-integers by using floor(x + 0.5) to round to nearest, so tgamma(x) was wrong (+-0 instead of +Inf and now NaN) on these args. The floor() expression is hard to use since rounding of (x + 0.5) may give x or x + 1, depending on |x| and the current rounding mode. The fixed version uses ceil(x) to classify x before operating on x and ends up being more efficient since ceil(x) is needed anyway. (4) On at least the problematic args in (3), tgamma() raised a spurious inexact. (5) tgamma(large positive) raised divide-by-zero but should raise overflow. (6) tgamma(+Inf) raised divide-by-zero but should not raise any exception. (7) Raise inexact for tiny |x| in a way that has some chance of not being optimized away.
The fix for (5) and (6), and probably for (2), also prevents -O optimizing away the exception.
PR: 112180 (2) Standards: Annex F in C99 (IEC 60559 binding) requires (1), (2) and (6).
show more ...
|
#
dd936b27 |
| 02-May-2007 |
Bruce Evans <bde@FreeBSD.org> |
Document (in a comment) the current (slightly broken) handling of special values in more detail, and change the style of this comment to be closer to fdlibm and C99: - tgamma(-Inf) was undocumented a
Document (in a comment) the current (slightly broken) handling of special values in more detail, and change the style of this comment to be closer to fdlibm and C99: - tgamma(-Inf) was undocumented and is wrong (+Inf, should be NaN) - tgamma(negative integer) is as intended (+Inf) but not best for IEEE-754 (NaN) - tgamma(-0) was documented as being wrong (+Inf) but was correct (-Inf) - documentation of setting of exceptions (overflow, etc.) was more complete here than in most of libm, but was further from matching the actual setting than in most of libm, due to various bugs here (primarily, always evaluating +Inf one/zero and getting unwanted divide-by-zero exceptions from this). Now the actual behaviour with gcc -O0 is documented. Optimization still breaks setting of exceptions all over libm, so nothing can depend on this working. - tgamma(NaN)'s exception was documented as being wrong (invalid) but was correct (no exception with IEEEish NaNs).
Finish (?) rev.1.5. gamma was not renamed to tgamma in one place.
Finish (?) rev.1.6. errno.h was not completely removed.
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0 |
|
#
0b42281e |
| 19-Sep-2005 |
Bruce Evans <bde@FreeBSD.org> |
Fixed aliasing bugs in TRUNC() by using the fdlibm macros for access to doubles as bits. fdlibm-1.1 had similar aliasing bugs, but these were fixed by NetBSD or Cygnus before a modified version of f
Fixed aliasing bugs in TRUNC() by using the fdlibm macros for access to doubles as bits. fdlibm-1.1 had similar aliasing bugs, but these were fixed by NetBSD or Cygnus before a modified version of fdlibm was imported in 1994. TRUNC() is only used by tgamma() and some implementation-detail functions. The aliasing bugs were detected by compiling with gcc -O2 but don't seem to have broken tgamma() on i386's or amd64's. They broke my modified version of tgamma().
Moved the definition of TRUNC() to mathimpl.h so that it can be fixed in one place, although the general version is even slower than necessary because it has to operate on pointers to volatiles to handle its arg sometimes being volatile. Inefficiency of the fdlibm macros slows down libm generally, and tgamma() is a relatively unimportant part of libm. The macros act as if on 32-bit words in memory, so they are hard to optimize to direct actions on 64-bit double registers for (non-i386) machines where this is possible. The optimization is too hard for gcc on amd64's, and declaring variables as volatile makes it impossible.
show more ...
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0 |
|
#
17519e9b |
| 16-Dec-2004 |
David Schultz <das@FreeBSD.org> |
Cosmetic changes only: - style - remove unused variables - de-support VAX
Inspired by: bin/42388
|
Revision tags: release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
46d7c297 |
| 26-Mar-2002 |
Bruce Evans <bde@FreeBSD.org> |
Resurrect Lite1's gamma() as C99's tgamma(). Minimal changes.
|
#
69160b1e |
| 22-Mar-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Remove __P() usage.
|
#
84c63a15 |
| 21-Mar-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Fix SCM ID's.
|