From owner-freebsd-current@FreeBSD.ORG Tue May 29 17:54:55 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CB60D106566C for ; Tue, 29 May 2012 17:54:55 +0000 (UTC) (envelope-from stephen@missouri.edu) Received: from wilberforce.math.missouri.edu (wilberforce.math.missouri.edu [128.206.184.213]) by mx1.freebsd.org (Postfix) with ESMTP id 8A4D98FC15 for ; Tue, 29 May 2012 17:54:55 +0000 (UTC) Received: from [127.0.0.1] (wilberforce.math.missouri.edu [128.206.184.213]) by wilberforce.math.missouri.edu (8.14.5/8.14.5) with ESMTP id q4THspmb024841; Tue, 29 May 2012 12:54:52 -0500 (CDT) (envelope-from stephen@missouri.edu) Message-ID: <4FC50D6B.80707@missouri.edu> Date: Tue, 29 May 2012 12:54:51 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 MIME-Version: 1.0 To: Rainer Hurling 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> <4FC4FDF5.3030108@gwdg.de> In-Reply-To: <4FC4FDF5.3030108@gwdg.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org, Peter Jeremy , Steve Kargl 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 17:54:55 -0000 On 05/29/2012 11:48 AM, Rainer Hurling wrote: > On 29.05.2012 08:10 (UTC+1), Steve Kargl wrote: >> 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.) > 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. If there were a "freebsd-floating-point@FreeBSD.org" mailing list to discuss these issues, I would eagerly join. While I have never written libm-style libraries myself, I do have knowledge of both computers AND mathematics, and I do teach two university courses: "Numerical Methods" and "Numerical Linear Algebra." And I have written quite a bit of numerical code, so I do know about the issues of testing and debugging such code. I would be happy to take on any steep learning curve, and make contributions, if only I were part of a group that would steer me in the right direction. Finally, Steve made a point that the way gcc multiplies complex numbers is wasteful in computational time. I have been bitten by this. I wrote some code that involved multiplying large numbers of complex numbers. I first wrote it using the complex C99 code. Then I rewrote it using double, writing out the complex multiplication long hand, and the program went twice as fast! (It involved multiplying numbers that were purely real or purely imaginary, so performing (x)*(I*y) by (x+0*I)*(0+y*I) really did slow it down.) Anyway, given that floating point is a big issue, and we are about a decade behind schedule, really suggests that a floating-point@freebsd.org mailing list is needed. Or maybe there is an existing freebsd mailing list you guys already occupy. Stephen