Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180410230849.GK4418@port70.net>
Date: Wed, 11 Apr 2018 01:08:50 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: catan errors

* Rich Felker <dalias@...c.org> [2018-04-10 15:50:07 -0400]:
> 
> 3. Is only possible if y==1.0 and x==0.0, which is the only real
>    exceptional case for atan: z==I.
> 
> I opted to replace the non-obvious (3) with an explicit check for z==I
> but this isn't necessary.
> 
...
>  	t = y - 1.0;
>  	a = x2 + (t * t);
> -	if (a == 0.0)
> -		goto ovrf;

why does a==0 imply x==0?

if |x| < sqrt(2)*0x1p-538, x2 underflows to 0 in nearest rounding mode.

to handle this correctly extra work would need to be done, so i think
either way is fine (leaving the goto there or not are both wrong, but
we dont guarantee correct complex functions yet)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.