--- ais/ai-00269.txt 2004/09/14 01:25:57 1.7 +++ ais/ai-00269.txt 2004/10/05 22:49:08 1.8 @@ -1,8 +1,10 @@ -!standard 4.09 (35) 04-09-13 AI95-00269/04 +!standard 4.09 (35) 04-09-22 AI95-00269/05 !standard 4.09 (37) !standard 4.09 (38) !standard 12.04 (10) !class binding interpretation 01-02-22 +!status Amendment 200Y 04-09-22 +!status ARG Approved 9-0-0 04-09-19 !status work item 01-05-25 !status received 01-03-23 !qualifier Omission @@ -114,7 +116,7 @@ in the generic unit based on the properties of the formal (see 12.3(11)). Thus, any such use would be illegal in the generic unit. -One other issue addressed by this AI is the application of 4.9(35) to +Another issue addressed by this AI is the application of 4.9(35) to static expressions where the expected type is a universal numeric type or where the expression is expected to be of any integer or real type. There isn't a clearly specified base range in such cases, and we want to allow @@ -130,9 +132,9 @@ the value may be arbitrarily large or small.> @dby @xbullet<If the expression is not part of a larger static expression and the -expected type for the expression is required to be a single, specific type, -then its value shall be in the base range of its expected type. Otherwise, -the value may be arbitrarily large or small.> +expression is expected to be a single specific type, then its value shall be in +the base range of its expected type. Otherwise, the value may be arbitrarily +large or small.> !corrigendum 4.09(37) @@ -150,7 +152,7 @@ !corrigendum 4.09(38) -@dinsa +@drepl For a real static expression that is not part of a larger static expression, and whose expected type is not a descendant of a formal scalar type, the implementation shall round or truncate the value (according to the @@ -159,10 +161,17 @@ 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). -@dinst -If a static expression appears in the body of an instance of a generic unit -and the expression is nonstatic in the corresponding generic body, then the -above accuracy requirement does not apply. +@dby +For a real static expression that is not part of a larger static expression, +and whose expected type is not a descendant 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, or if the static expression appears in +the body of an instance of a generic unit and the corresponding expression is +nonstatic in the corresponding generic body, then no special rounding or +truncating is required -- normal accuracy rules apply (see Annex G). !corrigendum 12.04(10)

Questions? Ask the ACAA Technical Agent