Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Aug 2012 23:08:24 -0000
From:      Stephen Montgomery-Smith <stephen@missouri.edu>
To:        Peter Jeremy <peter@rulingia.com>
Cc:        Diane Bruce <db@db.net>, Steve Kargl <sgk@troutmask.apl.washington.edu>, John Baldwin <jhb@freebsd.org>, David Chisnall <theraven@freebsd.org>, Bruce Evans <bde@freebsd.org>, Bruce Evans <brde@optusnet.com.au>, David Schultz <das@freebsd.org>, Warner Losh <imp@bsdimp.com>
Subject:   Re: Use of C99 extra long double math functions after r236148
Message-ID:  <5007403F.8000909@missouri.edu>
Resent-Message-ID: <20120812230817.GD20453@server.rulingia.com>
In-Reply-To: <20120718224222.GA6022@server.rulingia.com>
References:  <C527B388-3537-406F-BA6D-2FA45B9EAA3B@FreeBSD.org> <20120713155805.GC81965@zim.MIT.EDU> <20120714120432.GA70706@server.rulingia.com> <20120717084457.U3890@besplex.bde.org> <5004A5C7.1040405@missouri.edu> <5004DEA9.1050001@missouri.edu> <20120717200931.U6624@besplex.bde.org> <5006D13D.2080702@missouri.edu> <20120718205625.GA409@troutmask.apl.washington.edu> <500725F2.7060603@missouri.edu> <20120718224222.GA6022@server.rulingia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/18/2012 05:42 PM, Peter Jeremy wrote:
> On 2012-Jul-18 10:07:41 -0500, Stephen Montgomery-Smith <stephen@missouri.edu> wrote:
>> I went on a long road trip yesterday, so I didn't get any code written,
>> but I did have a lot of thoughts about clog and casinh.
>
> Can I suggest you have a read through "Implementing the Complex
> Arcsine and Arccosine Functions Using Exception Handling" by
> T. E. Hull Thomas F. Fairgrieve and Ping Tak Peter Tang, ACM
> Transactions on Mathematical Software, Vol. 23, No. 3, September 1997.
> Based on a quick skim, it includes fairly detailed pseudocode,
> together with an error analysis.

OK, I will do that.

My pseudo code is different in that I use clog, and they do not.  I'll 
probably go with my approach, but use lots of ideas from this paper as 
seems appropriate.  I might even try both approaches and see which seems 
to be the winner,

>
> On 2012-Jul-18 16:09:06 -0500, Stephen Montgomery-Smith <stephen@missouri.edu> wrote:
>> Am I to understand that the inexact flag should be set anytime a
>> floating point operation produces an answer that is not guaranteed
>> exact?
>
> My understanding is, yes.  For the transcendental functions, that
> means the inexact flag should almost always be raised and the problem
> becomes when not to raise it.  Eg sin(0) == 0 and presumably doesn't
> set the inexact flag.
>
>>   For example, should 1.0/3.0 and sqrt(2.0) raise the inexact flag?
>
> Yes and yes.  I notice our sqrtl() actually tests the inexact flag of
> an intermediate calculation to determine the correct rounding for the
> result.

Thank you for the clarification.  I will definitely set the inexact flag 
under the circumstances pointed out by Steve.  Otherwise, I will rely on 
clog and csqrt to set the inexact flag.  (And clog will depend upon log, 
hypot and atan2 to set the inexact flag.)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5007403F.8000909>