Use of C99 extra long double math functions after r236148

Rainer Hurling rhurlin at gwdg.de
Tue May 29 16:49:23 UTC 2012


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<sgk at troutmask.apl.washington.edu>  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<stephen at missouri.edu>  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.
>



More information about the freebsd-current mailing list