[gfortran] PR15206 RRSPACING wrong for zero
Tobias Schlüter
tobias.schlueter@physik.uni-muenchen.de
Fri May 14 14:13:00 GMT 2004
Paul Brook wrote:
> On Saturday 08 May 2004 17:28, Tobias Schlüter wrote:
>
>>This patch fixes the RRSPACING intrinsic. It didn't return the correct
>>result for a zero argument. I don't really understand how the original
>>code worked, but I verified that RRSPACING(x) == x/SPACING(x) for a wide
>>range of arguments. I used the condition (expn == 0 && frac == 0) to
>>check for a zero argument, if this is not the correct check, please
>>correct this.
>
>
> I think frac==0 is a sufficient test. The result of clz(0) is undefined, so we
> want to avoid that anyway
>
I was afraid that frac == 0 for 1.0 as well, because the leading 1 is
not recorded in FPNs. Of course, exp would be zero in that case as well.
I'll try only checking frac == 0, and report back.
BTW the optimizers don't believe that
x / (SPACING(x) * RRSPACING(x)) == 1 :-)
- Tobi
ps I'm still in town, I postponed my vacation. I'm not in some internet
cafe manically applying patch after patch :-)
More information about the Fortran
mailing list