Date: Tue, 31 Dec 2002 19:05:21 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: "=?iso-8859-1?q?Pedro=20F.=20Giffuni?=" <giffunip@yahoo.com> Cc: freebsd-standards@freebsd.org Subject: Re: Any libm maintainer (was Math changes in Mac OS X) Message-ID: <20021231190444.J50564-100000@gamplex.bde.org> In-Reply-To: <20021231172011.Y49902-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[Resending this to correct address error]
On Mon, 30 Dec 2002, [iso-8859-1] Pedro F. Giffuni wrote:
> I'm attaching you libm.tar.bz2 . For now I think the
> best would be to use the code as reference and wait
> until the APSL change next year.
This turns out to be underwhelming. The i386 parts have the same
base as the FreeBSD i386 parts (Sun's fdlibm) and the changes in
both are relatively trivial. The main differences are
- Apple has the assembler sources more directly integrated. We
don't want this, since it reduces portability and gets in the
way of implementing all math functions in software like we do
to support i386's with no {i387's or full (GPLed) emulator}.
- Apple doesn't have the fdlibm sources for things that are implemented
in assembler on all supported machines (at least in this packaging of
the library which supports only i386 and ppc).
- Apple doesn't have the cruftier parts of libm (wrapper functions and
k_standard()). We never really supported these without a recompile.
- Apple is missing a fix for pow() (PR 39236).
- Apple apparently derived tgamma() from old Apple sources. We derived
it from old BSD sources.
- Apple has a more up to date version of the NetBSD assembler sources.
This mainly involves ugly macros to support XMM (SSE?).
- Apple has support for some of the simpler parts of C99 (fenv.h and
some conversion and classification functions).
- Apple has more specialized ppc support.
- Apple has a test suite. I use mainly ucbtest for testing libm.
ucbtest seems to have vastly more extensive and hard to use coverage
the functions that it covers, but it doesn't touch the more exotic
functions (Bessel, gamma) of fenv stuff.
By contrast, the glibc libm is overwhelming. It has assembler versions
for almost everything on several machines, including ones with long
double precision...
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-standards" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021231190444.J50564-100000>
