CVS difference for ai12s/ai12-0348-1.txt
--- ai12s/ai12-0348-1.txt 2020/01/09 06:34:52 1.1
+++ ai12s/ai12-0348-1.txt 2020/01/17 05:35:23 1.2
@@ -1,5 +1,7 @@
-!standard 4.5.10(0) 20-01-08 AI12-0348-1/01
+!standard 4.5.10(0) 20-01-16 AI12-0348-1/02
!class Amendment 20-01-08
+!status Amendment 1-2012 20-01-15
+!status ARG Approved 9-0-4 20-01-15
!status work item 20-01-08
!status received 19-10-13
!priority Medium
@@ -8,13 +10,13 @@
!summary
Combiners are removed from reduction expressions. As a consequence, the
-Accum_Type and the Value_Type be the same for parallel reductions.
+Accum_Type and the Value_Type must be the same for parallel reductions.
!problem
-Combiners seem necessarily mostly for contrived uses of reduction
-expressions, and add substantial complexity to the the model and
-resolution of reduction expressions. We should eliminate them.
+Combiners seem necessary mostly for contrived uses of reduction expressions,
+and add substantial complexity to the model and resolution of reduction
+expressions. We should eliminate them.
!proposal
@@ -50,7 +52,7 @@
@xindent<@fa<reduction_attribute_designator>@fa<@ ::=@ >@i<reduction_>@fa<identifier>(@fa<reduction_specification>)>
-@xindent<@fa<reduction_specification>@fa<@ ::=@ >@i<reducer_>@fa<name>,@ @i<initial_value_>@fa<expression>[, @i<combiner_>@fa<name>]>
+@xindent<@fa<reduction_specification>@fa<@ ::=@ >@i<reducer_>@fa<name>,@ @i<initial_value_>@fa<expression>>
The @fa<iterated_element_association> of a @fa<value_sequence> shall not have
a @i<key_>@fa<expression>, nor shall it have a
@@ -197,7 +199,7 @@
@s8<@i<Bounded (Run-Time) Errors>>
-For a parallel reduction expression, then it is a bounded error if the initial
+For a parallel reduction expression, it is a bounded error if the initial
value is not the (left) identity of the reducer subprogram. That is, the result
of calling the reducer subprogram with the Accumulator being the initial
value and the Value being any arbitrary value of subtype @i<Accum_Type> should
@@ -213,10 +215,10 @@
@xcode<@b<function> Factorial(N : Natural) @b<return> Natural @b<is>
([@b<for> J @b<in> 1..N =@> J]'Reduce("*", 1));>
-An expression function that computes the Sin of X using Taylor expansion:
+An expression function that computes the Sine of X using a Taylor expansion:
-@xcode<@b<function> Sin (X : Float; Num_Terms : Positive := 5) @b<return> Float @b<is>
- ([@b<for> I @b<in> 1..Num_Terms =@> (-1.0)**(I-1) * X**(2*I-1)/Float(Fact(2*I-1))]
+@xcode<@b<function> Sine (X : Float; Num_Terms : Positive := 5) @b<return> Float @b<is>
+ ([@b<for> I @b<in> 1..Num_Terms =@> (-1.0)**(I-1) * X**(2*I-1)/Float(Factorial(2*I-1))]
'Reduce("+", 0.0));>
A reduction expression that outputs the sum of squares:
@@ -237,7 +239,7 @@
@xcode<A'Reduce("+",0) -- @ft<@i<See 4.3.3.>>>
-Determine if all elements in a two dimensional array of booleans are
+Determine if all elements in a two-dimensional array of booleans are
set to true:
@xcode<Grid'Reduce("and", True) -- @ft<@i<See 3.6.>>>
@@ -247,7 +249,7 @@
@xcode<A'Parallel_Reduce(Integer'Min, Integer'Last)>
A parallel reduction expression used to calculate the mean of the
-elements of a two dimensional array of subtype Matrix (see 3.6) that
+elements of a two-dimensional array of subtype Matrix (see 3.6) that
are greater than 100.0:
@xcode<@b<type> Accumulator @b<is record>
Questions? Ask the ACAA Technical Agent