Patches for s_expl.c
Steve Kargl
sgk at troutmask.apl.washington.edu
Tue May 28 22:53:11 UTC 2013
On Wed, May 29, 2013 at 07:39:04AM +1000, Bruce Evans wrote:
> On Tue, 28 May 2013, Steve Kargl wrote:
>
> > Here are two patches for ld80/s_expl.c and ld128/s_expl.c.
> > Instead of committing the one large patch that I have spent
> > hours testing, I have split it into two. One patch fixes/updates
> > expl(). The other patch is the implementation of expm1l().
> >
> > My commit messages will be:
> >
> > Patch 1:
> >
> > ld80/s_expl.c:
> >
> > * Use the LOG2_INTERVALS macro instead of hardcoding 7.
>
> The use of LOG2_INTERVALS isn't merged into the ld128 version. Patch 2
> merges its use for expm1l() only.
>
> > * Use LD80C to set overflow and underflow thresholds, and then use
> > #defines to access the .e component to reduce diffs with ld128 version.
> > * Rename polynomial coefficients P# to A#, which is used in Tang.
>
> Almost all the declarations polynomial coefficients are still formatted
> in a nonstandard way, but differently than in previous development
> versions. I keep sending you patches for this.
Given that I've merged, unmerged, remerged, disremerged, and
undisremerged numerous diffs over the last 2+ years, I am not
surprise that there are issues with the patches. I'm neither
an expert in floating arithmetic nor style(9). If I understand
half of what you write when you annotate one of your diffs, I
feel lucky.
(Un)fortunately, I only have a few hours this week to work on
expl/expm1l, and then I'll disappear again for a month or two
(due to work and life). (Un)fortunately, theraven (under the
pretense of core) has threaten to completely rendered libm into
a crippled useless mess by mapping all unimplemented long double
functions to their double cousins. When/if it comes to pass
that I have to untangle whatever theraven does, I'll likely
just walk away from libm hacking.
--
Steve
More information about the freebsd-numerics
mailing list