From owner-freebsd-current@FreeBSD.ORG Tue May 29 16:49:23 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83554106566C for ; Tue, 29 May 2012 16:49:23 +0000 (UTC) (envelope-from rhurlin@gwdg.de) Received: from fmailer.gwdg.de (fmailer.gwdg.de [134.76.11.16]) by mx1.freebsd.org (Postfix) with ESMTP id 0E92B8FC0C for ; Tue, 29 May 2012 16:49:22 +0000 (UTC) Received: from p508c7309.dip.t-dialin.net ([80.140.115.9] helo=krabat.raven.hur) by mailer.gwdg.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1SZPbN-0000J8-Qs; Tue, 29 May 2012 18:48:58 +0200 Message-ID: <4FC4FDF5.3030108@gwdg.de> Date: Tue, 29 May 2012 18:48:53 +0200 From: Rainer Hurling User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:12.0) Gecko/20120503 Thunderbird/12.0.1 MIME-Version: 1.0 To: Steve Kargl References: <4FC3A154.8030702@missouri.edu> <20120528203159.GA76340@troutmask.apl.washington.edu> <4FC3EBDA.2080502@missouri.edu> <20120528221731.GA76723@troutmask.apl.washington.edu> <4FC40449.3040602@missouri.edu> <20120528233035.GA77157@troutmask.apl.washington.edu> <4FC40DEA.8030703@missouri.edu> <20120529000756.GA77386@troutmask.apl.washington.edu> <4FC43C8F.5090509@missouri.edu> <20120529045612.GB4445@server.rulingia.com> <20120529061035.GA78573@troutmask.apl.washington.edu> In-Reply-To: <20120529061035.GA78573@troutmask.apl.washington.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated: Id:rhurlin X-Spam-Level: - X-Virus-Scanned: (clean) by exiscan+sophie Cc: freebsd-current@freebsd.org, Peter Jeremy Subject: Re: Use of C99 extra long double math functions after r236148 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2012 16:49:23 -0000 On 29.05.2012 08:10 (UTC+1), Steve Kargl wrote: > On Tue, May 29, 2012 at 02:56:13PM +1000, Peter Jeremy wrote: >> On 2012-May-28 15:54:06 -0700, Steve Kargl wrote: >> >> There some test code in cephes. Can you point me to a suitable test >> suite for LD80 and LD128? The reason for calling it libm is to avoid >> having to hack every consumer to add an additional library. > > I can't point you to test code. When I work on a function, > I write test code. > >>> It took >>> me 3+ years to get sqrtl() into libm, but bde and das (and >>> myself) wanted to make sure the code worked. >> >> Last time I checked (a couple of years ago), FreeBSD was missing 65 >> C99 libm functions. At 3 years per function, we should have C99 >> support available early in the 23rd century - which may be a bit late. > > sqrtl() is a bit special in that IEEE 754 requires that > it have no more than 0.5 ULP for all arguments in all > roundng modes. As to other functions, I've been trying > for 10+ years to get some of these into FreeBSD. I can > assure you that there has never been a rush of people > volunteering to help or a rush of people willing to fund > the development of the necessary code. The almost complete absence of volunteers in this case is first of all caused by the need of very special, deep knowlegdes on mathematical and informatical issues. I bet there are only a few people out there, who are really good in both (three of them are known to us ;) ). The problems with quality standards in such libraries spreaded over most OS'es and platforms support this view. (I am aware that these arguments are kown and discussed before.) People like me, who wanted to _use_ FreeBSD as scientific desktops, have an urgent need on such mathematical libraries. But most of us have no chance to contribute conceptual. For some tasks we could use specialized libraries or software, which include missing procedures and functions. But more often, modern apps expect to get this functionalities from the OS. This discussion confirms my impression, that it should be possible as an interim solution, to use a port for missing math functions (cephes alike or whatever). The port itself could warn the user about inaccuracies and edge-cases. The more important question to me is, how can the remaining (huge!) work on the systems libm done in a foreseeable time. As one possibility, wouldn't it be imaginable to pay some people for doing (some of) this work (FreeBSD Foundation, Sponsors from industry and science etc.)? I personally, as a private person, would be willing to pay a few hundred dollars for it. Paying people for other tasks in FreeBSD is not entirely uncommon, if I am not mistaken. >> On 2012-May-28 22:03:43 -0500, Stephen Montgomery-Smith wrote: >>> 1. By being so picky about being so precise, FreeBSD is behind the time >>> line in rolling out a usable set of C99 functions. >> >> And at the current rate, we'll all be long dead before they are >> available. > > It seems you've had "a couple of years" to implement one or > more of the missing functions. Yes, we'll all be dead before > libm is C99 ready because no one, other than bde@, das@ and > myself, has been willing to actually help write the code. I > know that at least one of those three people has had no time > in the last year or two work on libm. >