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 <ekamperi%gmail.com@localhost>:
> 2010/8/27 Christos Zoulas <christos%astron.com@localhost>:
>> Stathis Kamperis  <ekamperi%gmail.com@localhost> wrote:
>>>2010/8/23 Stathis Kamperis <ekamperi%gmail.com@localhost>:
>>>> 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:
http://leaf.dragonflybsd.org/~beket/netbsd/ldouble12.diff

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,
Stathis


Home | Main Index | Thread Index | Old Index