From owner-freebsd-current Wed Mar 20 17:33:43 2002 Delivered-To: freebsd-current@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 056FE37B400 for ; Wed, 20 Mar 2002 17:33:39 -0800 (PST) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id MAA13890; Thu, 21 Mar 2002 12:33:34 +1100 Date: Thu, 21 Mar 2002 12:33:45 +1100 (EST) From: Bruce Evans X-X-Sender: To: Steve Kargl Cc: Subject: Re: Removing CSRG libm? In-Reply-To: <20020320153229.A41158@troutmask.apl.washington.edu> Message-ID: <20020321121625.K12290-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 . (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