catrig[fl].c and inexact

Steve Kargl sgk at troutmask.apl.washington.edu
Sat May 13 16:21:58 UTC 2017


On Sat, May 13, 2017 at 03:08:26PM +0200, Dimitry Andric wrote:
> On 13 May 2017, at 08:08, Steve Kargl <sgk at troutmask.apl.washington.edu> wrote:
> > 
> > On Sat, May 13, 2017 at 11:35:49AM +1000, Bruce Evans wrote:
> >> On Fri, 12 May 2017, Steve Kargl wrote:
> ...
> >> required for the standard magic.  I planned to fix all this magic using
> >> macros like raise_inexact().
> > 
> > If you plan to fix the magic with raise_inexact, then please
> > test with a suite of compilers.  AFAICT, clang is optimizing
> > out the code.  I haven't written a testcase to demonstrate this
> > as I have other irons in the fire.
> 
> Using the full catrig.c and -O3, I tried gcc 4.2.1, 4.7.4, 4.8.5, 4.9.4,
> 5.4.0, 6.3.0 and 7.0.1, in addition to clang 3.4.1, 3.8.0, 3.9.1, 4.0.0
> and 5.0.0.

Thanks for checking.  I reduced catrig.c to a small self-contained
program and indeed I was getting the desired addition of 1 + tiny
to raise FE_INEXACT.  I suppose that I'll need to add an appropriate
-Wno-foo to my CFLAGS line to suppress the spurious warning, which
might be tricky because -Wunused is one option I'ld like to have.

-- 
Steve
20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow


More information about the freebsd-numerics mailing list