Re: Use of C99 extra long double math functions after r236148

看板FB_current作者時間13年前 (2012/07/09 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串43/100 (看更多)
On Jul 8, 2012, at 6:40 AM, David Schultz wrote: > On Tue, May 29, 2012, Peter Jeremy wrote: >> On 2012-May-28 15:54:06 -0700, Steve Kargl = <sgk@troutmask.apl.washington.edu> wrote: >>> Given that cephes was written years before C99 was even >>> conceived, I suspect all functions are sub-standard. >>=20 >> Well, most of cephes was written before C99. The C99 parts of >> cephes were written to turn it into a complete C99 implementation. >=20 > I'm a bit late to the party, but I thought I'd chime in with some > context. We did consider using Cephes years ago, and even got > permission from the author to release it under an acceptable license. > We later decided not to use it for technical reasons. >=20 > By the way, virtually none of the people who have complained about the > missing functions actually need them. Mostly they just want to > compile some software that was written by a naive programmer who > thought it would be cool to use the most precise type available. The > complex functions are even less commonly needed, and the truth is that > they have no business being part of the C standard anyway. >=20 > The question remains of what to do about the missing functions. Bruce > and Steve have been working on expl and logl for years. If those ever > get in the tree, the remaining long double functions are easy. Those > functions are basically done, modulo a bunch of cleanup and testing, > and I encourage any mathematically inclined folks who are interested > in pushing things along to get in touch with them. I'm not going to > have any time myself for a few months at least. Where can I find these? > Lastly, there's the question of mediocre alternatives, such as > solutions that get the boundary cases wrong or don't handle 128-bit > floating point. For the exponential and logarithmic functions, Bruce > and Steve have already written good implementations, so there's no > reason to settle for less. As for the other long double functions, > bringing in some Cephes code in a separate directory as a temporary > fix might be the way to go. I don't like that solution, and Steve > raises some good technical points about why it isn't ideal; however, a > better solution is more than a decade overdue, and people are > justified in finding that unacceptable. Don't let the perfect be the enemy of the good. It is better to have OK = implementations of these functions than none at all. We originally had = so-so double support, but bruce spent many years optimizing them to make = them very good. If we were just starting out, and hadn't let 10 years = get behind us, I'd give the substandard argument some weight. But now = that we're 13 years down the line from c99's publication I think we need = to relax our standards a bit. I'd even argue that these functions being = a little bad could easily spur people to make them better. Their = absence makes people just #define llexp(x) lexp(x), etc. :( Warner Warner= _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
文章代碼(AID): #1F-ShVBJ (FB_current)
討論串 (同標題文章)
完整討論串 (本文為第 43 之 100 篇):
文章代碼(AID): #1F-ShVBJ (FB_current)