<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Courier New" size="2"><span style="font-size:11pt;">
<div>I’m looking at #pragma STDC FP_ROUND in n2596. It isn’t clear to me that the pragma is supposed to only apply to the compiler, or if the compiler is required to change the floating point environment when the compiled code is executed.</div>
<div> </div>
<div>The draft says: “The FENV_ROUND pragma provides a means to specify a constant rounding direction for floating point operations for standard floating types within a translation unit or compound statement.”</div>
<div><font face="Calibri"> </font></div>
<div>Use of the word “constant” sounds to me like it only applies to constants. Especially since the next paragraph contrasts the “constant rounding mode” with the “dynamic rounding mode”. The “constant rounding mode” does not apply to functions that are called
from a place where the #pragma is in effect.</div>
<div> </div>
<div>On the other hand, paragraph 4 starts out with “The FENV_ROUND pragma affects operations for standard floating types. Within the scope of an FENV_ROUND pragma establishing a mode other than FE_DYNAMIC, floating-point operators, implicit conversions...”</div>
<div><font face="Calibri"> </font></div>
<div>That paragraph doesn’t sound like the #pragma is restricted to operations on constants. Plus, there’s a block of example code showing that the compiler “could” insert calls to fesetround(). </div>
<div> </div>
<div>So which is it? Is this pragma equivalent to a call to fesetround() or not?</div>
<div><font face="Calibri" size="2"><span style="font-size:10pt;">--<font size="2"><span style="font-size:11pt;">
<br>

</span></font><font face="Courier New">Kevin P. Neal<br>

</font><font face="Courier New">SAS/C and SAS/C++ Compiler</font></span></font></div>
<div><font size="2"><span style="font-size:10pt;">Compute Services</span></font></div>
<div><font size="2"><span style="font-size:10pt;">SAS Institute, Inc.</span></font></div>
<div><font face="Calibri"> </font></div>
<div><font face="Calibri"> </font></div>
<div><font face="Calibri"> </font></div>
<div><font face="Calibri"> </font></div>
</span></font>
</body>
</html>