<html><body>
<p>IBM XLF version 13 running on AIX 5.3 prints:<br>
<br>
 snan, 32-bit prints as:  NaNS<br>
 qnan, 32-bit prints as:  NaNQ<br>
 snan, 64-bit prints as:  NaNS<br>
 qnan, 64-bit prints as:  NaNQ<br>
<br>
I modified the program to include quad precision using the IBM PPC's &quot;double double&quot;:<br>
<br>
       program ieee_test_nan<br>
<br>
       use, intrinsic :: ieee_arithmetic<br>
       implicit none<br>
       real(4) :: ss, sq<br>
       real(8) :: ds, dq<br>
       real(16) :: qs, qq<br>
<br>
       ss = ieee_value(ss,ieee_signaling_nan)<br>
       sq = ieee_value(sq,ieee_quiet_nan)<br>
       ds = ieee_value(ds,ieee_signaling_nan)<br>
       dq = ieee_value(dq,ieee_quiet_nan)<br>
       qs = ieee_value(qs,ieee_signaling_nan)<br>
       qq = ieee_value(qq,ieee_quiet_nan)<br>
<br>
       write (*,*) &quot;snan, 32-bit prints as: &quot;, ss<br>
       write (*,*) &quot;qnan, 32-bit prints as: &quot;, sq<br>
       write (*,*) &quot;snan, 64-bit prints as: &quot;, ds<br>
       write (*,*) &quot;qnan, 64-bit prints as: &quot;, dq<br>
       write (*,*) &quot;snan, 128-bit prints as: &quot;, qs<br>
       write (*,*) &quot;qnan, 128-bit prints as: &quot;, qq<br>
<br>
       end<br>
<br>
That printed:<br>
<br>
 snan, 32-bit prints as:  NaNS<br>
 qnan, 32-bit prints as:  NaNQ<br>
 snan, 64-bit prints as:  NaNS<br>
 qnan, 64-bit prints as:  NaNQ<br>
 snan, 128-bit prints as:  NaNS<br>
 qnan, 128-bit prints as:  NaNQ<br>
<br>
- Ian McIntosh          IBM Canada Lab         Compiler Back End Support and Development<br>
<br>
<br>
<img width="16" height="16" src="cid:1__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt="Inactive hide details for &quot;Fred J. Tydeman&quot; ---03/16/2011 07:02:08 AM---Fortran, for some time, has had &quot;support&quot; for signaling"><font color="#424282">&quot;Fred J. Tydeman&quot; ---03/16/2011 07:02:08 AM---Fortran, for some time, has had &quot;support&quot; for signaling NaNs. The following program is supposed to c</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2" color="#5F5F5F">From:</font></td><td width="100%"><img width="1" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2">&quot;Fred J. Tydeman&quot; &lt;tydeman@tybor.com&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2" color="#5F5F5F">To:</font></td><td width="100%"><img width="1" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2">&quot;cfp-interest@ucbtest.org&quot; &lt;cfp-interest@ucbtest.org&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Date:</font></td><td width="100%"><img width="1" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2">03/16/2011 07:02 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Subject:</font></td><td width="100%"><img width="1" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2">[Cfp-interest]  Signaling NaNs and Fortran</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Sent by:</font></td><td width="100%"><img width="1" height="1" src="cid:2__=0ABBF2C4DF9088218f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font size="2">cfp-interest-bounces@oakapple.net</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt>Fortran, for some time, has had &quot;support&quot; for signaling NaNs.<br>
The following program is supposed to create single and double<br>
kinds of signaling and quiet NaNs; and then print them.<br>
For those people who have access to Fortran compilers, would<br>
you please run this and report back the results.<br>
This is to help determine how C should print signaling NaNs.<br>
<br>
 &nbsp; &nbsp; &nbsp; program ieee_test_nan<br>
<br>
 &nbsp; &nbsp; &nbsp; use, intrinsic :: ieee_arithmetic<br>
 &nbsp; &nbsp; &nbsp; implicit none<br>
 &nbsp; &nbsp; &nbsp; real(4) :: ss, sq<br>
 &nbsp; &nbsp; &nbsp; real(8) :: ds, dq<br>
<br>
 &nbsp; &nbsp; &nbsp; ss = ieee_value(ss,ieee_signaling_nan)<br>
 &nbsp; &nbsp; &nbsp; sq = ieee_value(sq,ieee_quiet_nan)<br>
 &nbsp; &nbsp; &nbsp; ds = ieee_value(ds,ieee_signaling_nan)<br>
 &nbsp; &nbsp; &nbsp; dq = ieee_value(dq,ieee_quiet_nan)<br>
<br>
 &nbsp; &nbsp; &nbsp; write (*,*) &quot;snan, 32-bit prints as: &quot;, ss<br>
 &nbsp; &nbsp; &nbsp; write (*,*) &quot;qnan, 32-bit prints as: &quot;, sq<br>
 &nbsp; &nbsp; &nbsp; write (*,*) &quot;snan, 64-bit prints as: &quot;, ds<br>
 &nbsp; &nbsp; &nbsp; write (*,*) &quot;qnan, 64-bit prints as: &quot;, dq<br>
<br>
 &nbsp; &nbsp; &nbsp; end<br>
<br>
---<br>
Fred J. Tydeman &nbsp; &nbsp; &nbsp; &nbsp;Tydeman Consulting<br>
tydeman@tybor.com &nbsp; &nbsp; &nbsp;Testing, numerics, programming<br>
+1 (775) 358-9748 &nbsp; &nbsp; &nbsp;Vice-chair of PL22.11 (ANSI &quot;C&quot;)<br>
Sample C99+FPCE tests: </tt><tt><a href="http://www.tybor.com">http://www.tybor.com</a></tt><tt><br>
Savers sleep well, investors eat well, spenders work forever.<br>
<br>
_______________________________________________<br>
Cfp-interest mailing list<br>
Cfp-interest@oakapple.net<br>
</tt><tt><a href="http://mailman.oakapple.net/mailman/listinfo/cfp-interest">http://mailman.oakapple.net/mailman/listinfo/cfp-interest</a></tt><tt><br>
</tt><br>
<br>
</body></html>