tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: libm patch

2010/8/28 Stathis Kamperis <>:
> 2010/8/27 Christos Zoulas <>:
>> Stathis Kamperis  <> wrote:
>>>2010/8/23 Stathis Kamperis <>:
>>>> Hi everyone,
>>>> I have been continuing my work on libm (former gSoC project) and I
>>>> have a patch[1] that I'd like to share with you.
>>>> It's a bit mixed in terms of changes (sorry):
>>>> * Added a few missing MLINKS
>>>> * Rewritten some elementary complex functions to not rely on gcc
>>>> extentions (creal, cimag, conj)
>>>> * Implemented some new elementary real+complex functions (fabsl,
>>>> copysignl, cproj*)
>>>> * Probably the most important change, is the introduction of
>>>> nextafterl() and friends, that will allow us to measure[2] the ULPs of
>>>> the long double precision functions that will arrive soon
>>>> * Some tidy up here and there
>> good.
>>>> The patch is WIP.
>>>> I'm sharing early to get feedback, as my build cycles are quite long
>>>> and I could batch changes :)
>>>> Thoughts on:
>>>> * Style (whether __ should be prepended to float_complex for instance
>>>> (it isn't strictly needed, but gives a visual hint on the custom
>>>> origin of the type))
>> I don't know. What does FreeBSD do?
> Just checked. They don't use __. I guess we could do the same, for
> less noise while diffing against them.
>>>> * File layout (should cproj.c be split into cproj.c, cprojf.c, cprojl.c?)
>>>> * Everything else
>>>> are very welcome.
>> I think so to follow existing practice.
> Ok, I'll break it up.
>>>Given the lack of general interest, I have filled a PR for this so it
>>>doesn't get lost:
>>>Re: lib/43807
>>>Until the experts can take a look at it :)
>> Is this committable? There is interest, but not too many cycles to look at 
>> it.
> It was a few days ago I checked (applied cleanly & built fine). Let me
> make the changes (remove __ from custom types, break cproj.c to
> type-specific files) and then give a new heads up.
> Thanks!
> Stathis

Just an update to this.

Latest patch can be found here:

Removed the __ from the private types to align with FreeBSD, fixed
some typos. If anyone can:

1. check if patch builds fine on top of HEAD
2. break cproj*() into separate files

would be very much appreciated. The 2. part can be done even after the
patch is committed, as a cleanup pass.

I would do myself, but I'm very busy with daytime job and my NetBSD
box is currently dismantled :)

Best regards,

Home | Main Index | Thread Index | Old Index