J3/14-238r2 To: J3 From: John Reid & Bill Long Subject: Collectives Date: 2014 October 15 Discussion ---------- We propose here several independent changes to the collectives. The principal argument of no collective should be permitted to be coindexed. It was not intended to allow this. It was not intended that the existence of defined assignment for the type and type parameters of the argument A of CO_REDUCE should have any bearing on the result of CO_REDUCE. Reasonable limitations should be imposed on the arguments of the OPERATOR function to limit the variants of CO_REDUCE that an implementation needs to provide. Edit are provided to clarify these issues. Edits to N2027: --------------- [22:14] In the description of the argument A in CO_BROADCAST, after the initial sentence ending "of the current team." insert a new sentence: "It shall not be a coindexed object.". [22:30] In the description of the argument A in CO_MAX, after the second sentence ending "of the current team." insert a new sentence: "It shall not be a coindexed object.". [23:10] In the description of the argument A in CO_MIN, after the second sentence ending "of the current team." insert a new sentence: "It shall not be a coindexed object.". [23:32] In the description of the argument A in CO_REDUCE, after the second sentence ending "of the current team." insert a new sentence: "It shall not be a coindexed object.". [23:37] After "two " insert "scalar, nonallocatable, nonpointer, nonoptional ". [23:39] After "polymorphic." insert a new sentence "If one argument has the ASYNCHRONOUS, TARGET, or VALUE attribute, both shall have the attribute." [24:7-8] Change "execution of r = OPERATOR(x,y)" to "evaluation of OPERATOR(x,y)" and "addition of r" to "addition of the value of OPERATOR(x,y)". Typeset x and y in math font. [24:19] In the description of the argument A in CO_SUM, after the second sentence ending "of the current team." insert a new sentence: "It shall not be a coindexed object.".