Skip to content

Commit 1f97431

Browse files
committed
Flatten post-Urbana diffs
1 parent 4188f80 commit 1f97431

File tree

6 files changed

+38
-118
lines changed

6 files changed

+38
-118
lines changed

algorithms.html

Lines changed: 9 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ <h1>Effect of execution policies on algorithm execution</h1>
3535
<p>
3636
The invocations of element access functions in parallel algorithms invoked with an execution
3737
policy object of type <code>parallel_execution_policy</code> are permitted to execute in an
38-
unordered fashion in <del>unspecified threads</del><ins>either the invoking thread or in a
39-
thread implicitly created by the library to support parallel algorithm execution.</ins>
40-
<del>, and</del> <ins>Any such invocations executing in the same thread are</ins> indeterminately
41-
sequenced <del>within each thread</del><ins>with respect to each other</ins>.
38+
unordered fashion in either the invoking thread or in a thread implicitly created by the library
39+
to support parallel algorithm execution. Any such invocations executing in the same thread are
40+
indeterminately sequenced with respect to each other.
4241

4342
<cxx-note>
4443
It is the caller's responsibility to ensure correctness, for example that the invocation does
@@ -296,9 +295,9 @@ <h1><code>ExecutionPolicy</code> algorithm overloads</h1>
296295
<td><code>transform</code></td>
297296
</tr>
298297
<tr>
299-
<td><code><ins>transform_exclusive_scan</ins></code></td>
300-
<td><code><ins>transform_inclusive_scan</ins></code></td>
301-
<td><code><ins>transform_reduce</ins></code></td>
298+
<td><code>transform_exclusive_scan</code></td>
299+
<td><code>transform_inclusive_scan</code></td>
300+
<td><code>transform_reduce</code></td>
302301
<td><code>uninitialized_copy</code></td>
303302
</tr>
304303
<tr>
@@ -540,7 +539,6 @@ <h1>Header <code>&lt;experimental/numeric&gt;</code> synopsis</h1>
540539
OutputIterator result,
541540
BinaryOperation binary_op, T init);
542541

543-
<ins>
544542
template&lt;class InputIterator, class UnaryOperation,
545543
class T, class BinaryOperation&gt;
546544
T transform_reduce(InputIterator first, InputIterator last,
@@ -570,7 +568,6 @@ <h1>Header <code>&lt;experimental/numeric&gt;</code> synopsis</h1>
570568
OutputIterator result,
571569
UnaryOperation unary_op,
572570
BinaryOperation binary_op, T init);
573-
</ins>
574571
}
575572
}
576573
}
@@ -753,35 +750,25 @@ <h1>Transform reduce</h1>
753750

754751
<cxx-function>
755752
<cxx-signature>
756-
<ins>
757753
template&lt;class InputIterator, class UnaryFunction, class T, class BinaryOperation&gt;
758754
T transform_reduce(InputIterator first, InputIterator last,
759755
UnaryOperation unary_op, T init, BinaryOperation binary_op);
760-
</ins>
761756
</cxx-signature>
762757

763758
<cxx-returns>
764-
<ins>
765759
<code><em>GENERALIZED_SUM</em>(binary_op, init, unary_op(*first), ..., unary_op(*(first + (last - first) - 1)))</code>.
766-
</ins>
767760
</cxx-returns>
768761

769762
<cxx-requires>
770-
<ins>
771763
Neither <code>unary_op</code> nor <code>binary_op</code> shall invalidate subranges, or modify elements in the range <code>[first,last)</code>
772-
</ins>
773764
</cxx-requires>
774765

775766
<cxx-complexity>
776-
<ins>
777767
O(<code>last - first</code>) applications each of <code>unary_op</code> and <code>binary_op</code>.
778-
</ins>
779768
</cxx-complexity>
780769

781770
<cxx-notes>
782-
<ins>
783771
<code>transform_reduce</code> does not apply <code>unary_op</code> to <code>init</code>.
784-
</ins>
785772
</cxx-notes>
786773
</cxx-function>
787774
</cxx-section>
@@ -791,7 +778,6 @@ <h1>Transform exclusive scan</h1>
791778

792779
<cxx-function>
793780
<cxx-signature>
794-
<ins>
795781
template&lt;class InputIterator, class OutputIterator,
796782
class UnaryOperation,
797783
class T, class BinaryOperation&gt;
@@ -800,41 +786,30 @@ <h1>Transform exclusive scan</h1>
800786
OutputIterator result,
801787
UnaryOperation unary_op,
802788
T init, BinaryOperation binary_op);
803-
</ins>
804789
</cxx-signature>
805790

806791
<cxx-effects>
807-
<ins>
808792
Assigns through each iterator <code>i</code> in <code>[result,result + (last - first))</code> the value of
809793
<code><em>GENERALIZED_NONCOMMUTATIVE_SUM</em>(binary_op, init, unary_op(*first), ..., unary_op(*(first + (i - result) - 1)))</code>.
810-
</ins>
811794
</cxx-effects>
812795

813796
<cxx-returns>
814-
<ins>
815797
The end of the resulting range beginning at <code>result</code>.
816-
</ins>
817798
</cxx-returns>
818799

819800
<cxx-requires>
820-
<ins>
821801
Neither <code>unary_op</code> nor <code>binary_op</code> shall invalidate iterators or subranges, or modify elements in the
822802
ranges <code>[first,last)</code> or <code>[result,result + (last - first))</code>.
823-
</ins>
824803
</cxx-requires>
825804

826805
<cxx-complexity>
827-
<ins>
828806
O(<code>last - first</code>) applications each of <code>unary_op</code> and <code>binary_op</code>.
829-
</ins>
830807
</cxx-complexity>
831808

832809
<cxx-notes>
833-
<ins>
834810
The difference between <code>transform_exclusive_scan</code> and <code>transform_inclusive_scan</code> is that <code>transform_exclusive_scan</code>
835811
excludes the ith input element from the ith sum. If <code>binary_op</code> is not mathematically associative, the behavior of
836812
<code>transform_exclusive_scan</code> may be non-deterministic. <code>transform_exclusive_scan</code> does not apply <code>unary_op</code> to <code>init</code>.
837-
</ins>
838813
</cxx-notes>
839814
</cxx-function>
840815
</cxx-section>
@@ -844,7 +819,6 @@ <h1>Transform inclusive scan</h1>
844819

845820
<cxx-function>
846821
<cxx-signature>
847-
<ins>
848822
template&lt;class InputIterator, class OutputIterator,
849823
class UnaryOperation,
850824
class BinaryOperation&gt;
@@ -862,43 +836,32 @@ <h1>Transform inclusive scan</h1>
862836
OutputIterator result,
863837
UnaryOperation unary_op,
864838
BinaryOperation binary_op, T init);
865-
</ins>
866839
</cxx-signature>
867840

868841
<cxx-effects>
869-
<ins>
870842
Assigns through each iterator <code>i</code> in <code>[result,result + (last - first))</code> the value of
871843
<code><em>GENERALIZED_NONCOMMUTATIVE_SUM</em>(binary_op, unary_op(*first), ..., unary_op(*(first + (i - result))))</code> or
872844
<code><em>GENERALIZED_NONCOMMUTATIVE_SUM</em>(binary_op, init, unary_op(*first), ..., unary_op(*(first + (i - result))))</code>
873845
if <code>init</code> is provided.
874-
</ins>
875846
</cxx-effects>
876847

877848
<cxx-returns>
878-
<ins>
879849
The end of the resulting range beginning at <code>result</code>.
880-
</ins>
881850
</cxx-returns>
882851

883852
<cxx-requires>
884-
<ins>
885853
Neither <code>unary_op</code> nor <code>binary_op</code> shall invalidate iterators or subranges, or modify elements in the ranges <code>[first,last)</code>
886854
or <code>[result,result + (last - first))</code>.
887-
</ins>
888855
</cxx-requires>
889856

890857
<cxx-complexity>
891-
<ins>
892858
O(<code>last - first</code>) applications each of <code>unary_op</code> and <code>binary_op</code>.
893-
</ins>
894859
</cxx-complexity>
895860

896861
<cxx-notes>
897-
<ins>
898-
The difference between <code>transform_exclusive_scan</code> and <code>transform_inclusive_scan</code> is that <code>transform_inclusive_scan</code>
899-
includes the ith input element from the ith sum. If <code>binary_op</code> is not mathematically associative, the behavior of
900-
<code>transform_inclusive_scan</code> may be non-deterministic. <code>transform_inclusive_scan</code> does not apply <code>unary_op</code> to <code>init</code>.
901-
</ins>
862+
The difference between <code>transform_exclusive_scan</code> and <code>transform_inclusive_scan</code> is that <code>transform_inclusive_scan</code>
863+
includes the ith input element from the ith sum. If <code>binary_op</code> is not mathematically associative, the behavior of
864+
<code>transform_inclusive_scan</code> may be non-deterministic. <code>transform_inclusive_scan</code> does not apply <code>unary_op</code> to <code>init</code>.
902865
</cxx-notes>
903866
</cxx-function>
904867
</cxx-section>

execution_policies.html

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@ <h1>Execution policies</h1>
44
<h1>In general</h1>
55
<p>
66
This clause describes classes that are <dfn>execution policy</dfn> types. An object
7-
of an execution policy type indicates <ins>the kinds of parallelism allowed in the execution
8-
of</ins> <del>to</del> an algorithm <del>whether it is allowed to execute
9-
in parallel</del> and expresses the <ins>consequent</ins> requirements on the element
7+
of an execution policy type indicates the kinds of parallelism allowed in the execution
8+
of an algorithm and expresses the consequent requirements on the element
109
access functions.
1110
</p>
1211

1312
<cxx-example>
1413
<pre>std::vector&lt;int&gt; v = ...
1514

1615
// standard sequential sort
17-
std::sort(v<del>ec</del>.begin(), v<del>ec</del>.end());
16+
std::sort(v.begin(), v.end());
1817

1918
using namespace std::experimental::parallel;
2019

@@ -89,11 +88,9 @@ <h1>Execution policy type trait</h1>
8988
<pre>
9089
</pre>
9190

92-
<ins>
93-
<cxx-note>
94-
This provision reserves the privilege of creating non-standard execution policies to the library implementation.
95-
</cxx-note>
96-
</ins>
91+
<cxx-note>
92+
This provision reserves the privilege of creating non-standard execution policies to the library implementation.
93+
</cxx-note>
9794

9895
<p>The behavior of a program that adds specializations for <code>is_execution_policy</code> is undefined.</p>
9996
</cxx-section>

front_matter.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<cxx-titlepage stage="draft">
2-
<cxx-docnum>N4310</cxx-docnum>
2+
<cxx-docnum>NXXX</cxx-docnum>
33
<cxx-project-number>19570</cxx-project-number>
4-
<time pubdate="">2014-11-21</time>
5-
<cxx-revises><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4104.html">N4104</a></cxx-revises>
4+
<time pubdate="">2015-01-06</time>
5+
<cxx-revises><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4310.html">N4310</a></cxx-revises>
66
<cxx-editor>
77
Jared Hoberock<br/>
88
NVIDIA Corporation<br/>

general.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ <h1>Normative references</h1>
4848
<cxx-section id="parallel.general.namespaces">
4949
<h1>Namespaces and headers</h1>
5050

51-
<p>Since the <del>the</del> extensions described in this Technical Specification are
51+
<p>Since the extensions described in this Technical Specification are
5252
experimental and not part of the C++ Standard Library, they should not be
5353
declared directly within namespace <code>std</code>. Unless otherwise specified, all
5454
components described in this Technical Specification are declared in namespace

0 commit comments

Comments
 (0)