From owner-freebsd-numerics@FreeBSD.ORG Sat Dec 29 03:37:28 2012 Return-Path: Delivered-To: freebsd-numerics@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D7E86B77 for ; Sat, 29 Dec 2012 03:37:28 +0000 (UTC) (envelope-from stephen@missouri.edu) Received: from wilberforce.math.missouri.edu (wilberforce.math.missouri.edu [128.206.184.213]) by mx1.freebsd.org (Postfix) with ESMTP id 9882C8FC08 for ; Sat, 29 Dec 2012 03:37:28 +0000 (UTC) Received: from [127.0.0.1] (wilberforce.math.missouri.edu [128.206.184.213]) by wilberforce.math.missouri.edu (8.14.5/8.14.5) with ESMTP id qBT3bQ49067826; Fri, 28 Dec 2012 21:37:26 -0600 (CST) (envelope-from stephen@missouri.edu) Message-ID: <50DE6576.9040200@missouri.edu> Date: Fri, 28 Dec 2012 21:37:26 -0600 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Steve Kargl Subject: Re: complex arc-trig etc References: <50CE9D0C.8080901@missouri.edu> <20121217191324.T1277@besplex.bde.org> <50DE5474.1070900@missouri.edu> <20121229031907.GA428@troutmask.apl.washington.edu> In-Reply-To: <20121229031907.GA428@troutmask.apl.washington.edu> X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-numerics@freebsd.org, Bruce Evans 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: Sat, 29 Dec 2012 03:37:28 -0000 On 12/28/2012 09:19 PM, Steve Kargl wrote: > On Fri, Dec 28, 2012 at 08:24:52PM -0600, Stephen Montgomery-Smith wrote: >> On 12/17/2012 02:38 AM, Bruce Evans wrote: >>> On Sun, 16 Dec 2012, Stephen Montgomery-Smith wrote: >>> >>>> Hey guys, my complex arc-trig functions at >>>> http://people.freebsd.org/~stephen/ have been sitting there a long time. >>>> Anyone want to commit them? >>> >>> I was sort of waiting for the next rounds of changes: >>> >>> 1. update the template to give similar code for float and long double >>> 2. make it work for i386 using ENTERI() >> >> What is ENTERI()? >> > > For 'long double' on i386, the precision is > set to 53 bits in the kernel (see the file > sys/x86/include/fpu.h). ENTERI() toggles > the fpu control word to use 64 bits for > long double and you use RETURNI() instead > of 'return(val)' to return from the function. > You can see these being used in msun/src/ld80/ > s_expl.c. Also, note the ENTERI() and RETURNI() > are defined in msun/src/math_private.h. > > Bruce can probably give a better explanation > and the history. > Now I see why I couldn't find it. It is only in CURRENT. (I had grepped the whole of source, but I am still in the dark ages of FreeBSD-8.)