CVS difference for ais/ai-00100.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00100.txt

--- ais/ai-00100.txt	1998/09/30 00:17:16	1.1
+++ ais/ai-00100.txt	1999/03/22 23:42:37	1.2
@@ -1,19 +1,43 @@
-!standard 04.09    (38)                               95-10-21  AI95-00100/01
-!class ramification 95-10-12
+!standard 04.09    (38)                               99-03-21  AI95-00100/02
+!class confirmation 99-03-21
 !status work item 95-10-21
 !status received 95-10-12
 !priority Medium
 !difficulty Medium
-!subject Truncation required if Machine_Rounds false?
+!subject Truncation required for static expressions if Machine_Rounds is
+false.
 
-!summary 95-10-12
+!summary 99-03-21
 
-
-!question 95-10-12
-
-
-!response 95-10-12
-
+A static expression of a fixed or floating point type that is not part of a
+larger static expression will be rounded or truncated based on the value of
+Machine_Rounds for the type.
+
+!question 99-03-21
+
+Is the intent of 4.9(38) to require truncation for values of static
+expressions if Machine_Rounds is false? (Yes.)
+
+!response 99-03-21
+
+Paragraph 4.9(38) reads:
+
+"For a real static expression that is not part of a larger static
+expression, and whose expected type is not a descendent of a formal scalar
+type, the implementation shall round or truncate the value (according to
+the Machine_Rounds attribute of the expected type) to the nearest machine
+number of the expected type; if the value is exactly half-way between two
+machine numbers, any rounding shall be performed away from zero.  If the
+expected type is a descendant of a formal scalar type, no special rounding
+or truncating is required--normal accuracy rules apply (see Annex G)."
+
+Reading just the first sentence may be confusing, but the second
+sentence makes the intent clear: there are special rounding and truncation
+rules that only apply to static scalar expressions which are not descended
+from a formal scalar type.   To do this correctly will require special
+effort, but this effort is required in any case since the legality rules
+require this evaluation to be done without Overflow_Checks.  In other words
+this evaluation in general cannot be done using normal machine arithmetic.
 
 !appendix 95-10-21
 

Questions? Ask the ACAA Technical Agent