Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Aug 2012 01:39:48 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Peter Jeremy <peter@rulingia.com>
Cc:        freebsd-numerics@freebsd.org
Subject:   Re: Status of expl logl
Message-ID:  <20120816012258.U2233@besplex.bde.org>
In-Reply-To: <20120814235832.GC33399@server.rulingia.com>
References:  <502A8CCC.5080606@missouri.edu> <20120814175257.GA69865@troutmask.apl.washington.edu> <20120814183518.GA70092@troutmask.apl.washington.edu> <502AA971.4010403@missouri.edu> <20120814195659.GA70571@troutmask.apl.washington.edu> <20120815070807.B3431@besplex.bde.org> <20120814235832.GC33399@server.rulingia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 15 Aug 2012, Peter Jeremy wrote:

> On 2012-Aug-15 08:15:52 +1000, Bruce Evans <brde@optusnet.com.au> wrote:
>> I hardly looked at e_pow.c before.  It is apparently half about repeating
>> e_log.c and e_exp.c, to get at their extra internal precision.
>
> I expect cpow() will similarly have to copy slabs of code from e_pow.c
> to avoid losing precision or domain.  Is it worth pulling some of this
> "common" code out so that it can be shared amongst all the different
> functions that need it?

We already have kernels for exp and log, but it is difficult to find
the right interfaces and internals, and these don't have them.  There
are also __exp__D() and  __log__D().  My s_log*.c have yet another
interface.  With heavyweight inlining and optimization, it works OK
to return internals in a big struct, with flags saying what was
returned.  However, the compiler never seems to do quite as well as
manual inlining.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120816012258.U2233>