(j3.2006) FRACTION: zeros, infinities and NaNs

Bill Long longb
Tue Sep 23 17:49:52 EDT 2008


The changes for FRACTION for f08 are in paper 07-200r1, which includes 
extensive explanation.  These changes were a small part of Interp 
F03/0042 that was filed against f03.  I suspect that we omitted the 
"incompatible change" text in hopes of attacking the interp before f08 
was published.  At this late date, it might be worth revisiting. 

Cheers,
Bill


Robert Corbett wrote:
> The specification of the intrinsic function FRACTION in
> Section 13.7.40 of the Fortran 2003 standard states
>
>      If X has the value zero, the result has the
>      value zero.  If X is and IEEE infinity, the
>      result is that infinity.  If X is an IEEE NaN,
>      the result is that NaN.
>
> The related language in Section 13.7.63 of CD 1539-1
> states
>
>       If X has the value zero or is an IEEE NaN,
>       the result has the same value as X.  If X
>       is an IEEE infinity, the result is an
>       IEEE NaN.
>
> The change in the treatment of IEEE infinities is an
> incompatible change.  If it were an intentional change,
> it would, of course, be listed as an incompatible
> change in Section 1.5.2 of CD 1539-1.  Since it is not
> listed in Section 1.5.2, I assume it is an unintended
> change.
>
> The change to the specification of the treatment of
> IEEE NaNs is troubling.  It is unclear what it means
> for NaNs to have the same value, given that NaNs have
> no value.
>
> Is the new wording regarding zeros intended to mean
> that on a processor that distinguishes between zeros
> with positive and negative signs, the sign must be
> preserved?  If so, it should say so.  A zero value
> with a positive sign and a zero value with a negative
> sign both have the same value (zero).
>
> The Fortran 2003 standard seems to say that if the
> actual argument of a call of FRACTION is a signaling
> NaN, that signaling NaN must be returned.  That could
> be difficult to implement on some hardware.  Is that
> really the intent?  Is FRACTION allowed to signal an
> invalid exception if its actual argument is a
> signaling NaN?
>
> Bob Corbett
>
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>   

-- 
Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120

            




More information about the J3 mailing list