Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 2002 12:33:45 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        <freebsd-current@FreeBSD.ORG>
Subject:   Re: Removing CSRG libm?
Message-ID:  <20020321121625.K12290-100000@gamplex.bde.org>
In-Reply-To: <20020320153229.A41158@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Mar 2002, Steve Kargl wrote:

> I re-read the audit trail of the PR.  You list two items:
> gamma() should become tgamma(); and, (lack of) the use
> of __pure2.  I was planning to compare our msun against
> NetBSD and merge any appropriate changes (if any exists).
> Do you have any patches for msun that you might commit
> in the future?

I created tgamma() from the BSD gamma() and will commit after a
repo-copy.  The changes are simple, and  clean enough except
gamma.c needs parts of exp.c and log.c.

I forgot about the missing __pure2 in <math.h>.  (It prevents gcc
doing optimizations like moving sqrt(2) out of loops.) There is
another thread on freebsd-standards about _MULTI_LIBM support.  I
want the errno support completely removed so that we have a chance
of declaring math functions as __pure2 unconditionally.  But maybe
we can't do this anyway, because math functions normally have the
side effect of setting IEEE exception flags.  Can we do things like

#ifpragma STDC FENV_ACCESS ON
double sqrt(double);
#else
double sqrt(double) __pure2;
#endif

?

> Also, are functions missing in libm with respect to the
> C99 standard?  I would be willing to work on implementing
> these functions.

Most are missing, if you count long double and complex support.  Only
a few are, for double support.  I noticed some easy ones like
isnormal() when I scanned the C99 draft standard today to check the
status if infnan.3.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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