From owner-freebsd-numerics@FreeBSD.ORG Thu May 30 06:46:42 2013 Return-Path: Delivered-To: freebsd-numerics@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2382A99; Thu, 30 May 2013 06:46:42 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (50-196-151-174-static.hfc.comcastbusiness.net [50.196.151.174]) by mx1.freebsd.org (Postfix) with ESMTP id E36AE298; Thu, 30 May 2013 06:46:41 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.7/8.14.2) with ESMTP id r4U6kZEU091680; Wed, 29 May 2013 23:46:35 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.7/8.14.2/Submit) id r4U6kZIJ091679; Wed, 29 May 2013 23:46:35 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Date: Wed, 29 May 2013 23:46:35 -0700 From: David Schultz To: David Chisnall Subject: Re: standards/175811: libstdc++ needs complex support in order use C99 Message-ID: <20130530064635.GA91597@zim.MIT.EDU> References: <201302040328.r143SUd3039504@freefall.freebsd.org> <510F306A.6090009@missouri.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: Stephen Montgomery-Smith , pfg@freebsd.org, freebsd-standards@freebsd.org, freebsd-numerics@freebsd.org X-BeenThere: freebsd-numerics@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Discussions of high quality implementation of libm functions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 May 2013 06:46:42 -0000 On Fri, Feb 22, 2013, David Chisnall wrote: > On 4 Feb 2013, at 03:52, Stephen Montgomery-Smith wrote: > > > We do really seem to have a lot of working code right now. And the main > > barrier to commitment seems to be style issues. > > > > For example, I have code at http://people.freebsd.org/~stephen/ for the > > complex arctrig functions. And Bruce has clog available. And > > presumably he has logl and atanl also available. > > > > The last I heard about my code is Bruce asking for some style changes. > > However I really don't think I will have time to work on it until at > > least the summer. And to be honest, style just isn't my thing. > > > > I propose (a) that someone else takes over my code (and maybe Bruce's > > code) and make the style changes, or (b) that we get a little less fussy > > about getting it all just so right and start committing stuff. > > > > Let me add that the code we have is already far superior than anything > > in Linux or NetBSD, who clearly didn't worry about huge numerical errors > > in many edge cases. Come on guys, let's start strutting our stuff. > > > > Let's commit what we have, even if it isn't perfect. > > Yes, please can this happen? We are currently on 31 test > failures in the libc++ test suite on -HEAD, of which at least 18 > are due to linker failures trying to find missing libm > functions. We are very close to having a complete C++11 > implementation, yet we are held up by the lack of C99 support, > and we are held up there by style nits? > > On behalf of core, please can we commit the existing code and > worry about the style later? Given the expertise required to > work on the libm functions, most of the people who are able to > hack on the code have already read it and so concerns about > consistency readability are somewhat misplaced. I didn't see this thread until now, but coincidentally, I just wrote tests and manpages for and committed Stephen's implementations of most of the missing double/float complex functions. I don't know the status of clog() or cpow(), but murray@ has a patch to port the NetBSD versions, which I'm also willing to commit given the unacceptable delays in producing something better. I was wondering if you could explain a bit about what your goal is here, though. Is there some kind of certification you are trying to achieve? Why can't you just comment out the few missing functions? You've been adamant about this issue ever since joining the Project, even suggesting that we commit bogus implementations just for the sake of having the symbols. I completely agree with you that the lack of progress is unacceptable, and I'm sorry I haven't had more time to work on this stuff myself, but I also don't understand the source of your urgency. The reason I'm asking is that I'm pushing to get a lot of stuff into the tree quickly, but realistically, in the short term we're only going to get 95% of the way there. I doubt good implementations of complicated functions that nobody uses, such as erfcl() and tgammal(), are going to appear overnight. Thus, I would like to know whether the last 5% is needed quickly, and if so, why.