You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NXXXX is the proposed working draft of Parallelism TS Version 2. It contains normative changes as directed by the ISO C++ Standards Committee at the 2018 Jacksonville meeting and editorial changes to the Parallelism TS.
12
+
N4742 is the proposed working draft of Parallelism TS Version 2. It contains normative changes as directed by the ISO C++ Standards Committee at the 2018 Jacksonville meeting and editorial changes to the Parallelism TS.
13
13
14
-
NXXXX updates the previous draft, N4725, published in the pre-Jacksonville mailing.
14
+
N4742 updates the previous draft, N4725, published in the pre-Jacksonville mailing.
15
15
16
-
NYYYY is document NXXXX reformatted as a PDTS draft document.
16
+
N4744 is document N4742 reformatted as a PDTS document.
17
17
18
18
## Normative Changes
19
19
@@ -26,5 +26,5 @@ NYYYY is document NXXXX reformatted as a PDTS draft document.
26
26
27
27
# Acknowledgements
28
28
29
-
Thanks to Alisdair Meredith, Matthias Kretz, and Marshall Clow for reviewing and suggesting editorial changes.
29
+
Thanks to Alisdair Meredith, Matthias Kretz, Marshall Clow, and Bryce Lelbach for reviewing and suggesting editorial changes.
<cxx-requires>T shall meet the requirements of <code>CopyConstructible</code> and <code>MoveAssignable</code>. The expression <code>var = combiner(var, var)</code> shall be well-formed.</cxx-requires>
218
218
219
-
<cxx-returns>a reduction object of unspecified type having reduction value type <code>T</code>, reduction identity <code>identity</code>, combiner function object <code>combiner</code>, and using the object referenced by <code>var</code> as its live-out object.</cxx-returns>
219
+
<cxx-returns><ins>A</ins><del>a</del> reduction object of unspecified type having reduction value type <code>T</code>, reduction identity <code>identity</code>, combiner function object <code>combiner</code>, and using the object referenced by <code>var</code> as its live-out object.</cxx-returns>
220
220
</cxx-function>
221
221
222
222
<cxx-function>
@@ -237,7 +237,7 @@ <h1>Reductions</h1>
237
237
238
238
<cxx-requires>T shall meet the requirements of <code>CopyConstructible</code> and <code>MoveAssignable</code>.</cxx-requires>
239
239
240
-
<cxx-returns>a reduction object of unspecified type having reduction value type <code>T</code>, reduction identity and combiner operation as specified in table <cxx-refto="reduction-identities-and-combiner-operations"></cxx-ref> and using the object referenced by <code>var</code> as its live-out object.</cxx-returns>
240
+
<cxx-returns><ins>A</ins><del>a</del> reduction object of unspecified type having reduction value type <code>T</code>, reduction identity and combiner operation as specified in table <cxx-refto="reduction-identities-and-combiner-operations"></cxx-ref> and using the object referenced by <code>var</code> as its live-out object.</cxx-returns>
Copy file name to clipboardExpand all lines: data_parallel_types.html
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -661,7 +661,7 @@ <h1><ins>Class templates <code>const_where_expression</code> and <code>where_exp
661
661
662
662
<cxx-requires>
663
663
<ins>
664
-
If the template parameter <code>Flags</code> is <code>vector_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>memory_alignment_v<T, U></code>. If the template parameter <code>Flags</code> is <code>overaligned_tag<N></code>, <code>mem</code> shall point to storage aligned by <code>N</code>. If the template parameter <code>Flags</code> is <code>element_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>alignof(U)</code>. If <code>M</code> is not <code>bool</code>, the largest <em>i</em> ∊ <code>[0, M::size())</code> where <code>mask[i]</code> is <code>true</code> is less than the number of values pointed to by <code>mem</code>.
664
+
If the template parameter <code>Flags</code> is <code>vector_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>memory_alignment_v<T, U></code>. If the template parameter <code>Flags</code> is <code>overaligned_tag<N></code>, <code>mem</code> shall point to storage aligned by <code>N</code>. If the template parameter <code>Flags</code> is <code>element_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>alignof(U)</code>. If <code>M</code> is not <code>bool</code>, the largest <code>i</code> ∊ <code>[0, M::size())</code> where <code>mask[i]</code> is <code>true</code> is less than the number of values pointed to by <code>mem</code>.
665
665
</ins>
666
666
</cxx-requires>
667
667
@@ -780,7 +780,7 @@ <h1><ins>Class templates <code>const_where_expression</code> and <code>where_exp
780
780
781
781
<cxx-requires>
782
782
<ins>
783
-
If the template parameter <code>Flags</code> is <code>vector_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>memory_alignment_v<T, U></code>. If the template parameter <code>Flags</code> is <code>overaligned_tag<N></code>, <code>mem</code> shall point to storage aligned by <code>N</code>. If the template parameter <code>Flags</code> is <code>element_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>alignof(U)</code>. If <code>is_simd_flag_type_v<U></code> is <code>true</code>, for all selected indices <em>i</em>, <em>i</em> shall be less than the number of values pointed to by <code>mem</code>.
783
+
If the template parameter <code>Flags</code> is <code>vector_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>memory_alignment_v<T, U></code>. If the template parameter <code>Flags</code> is <code>overaligned_tag<N></code>, <code>mem</code> shall point to storage aligned by <code>N</code>. If the template parameter <code>Flags</code> is <code>element_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>alignof(U)</code>. If <code>is_simd_flag_type_v<U></code> is <code>true</code>, for all selected indices <code>i</code>, <code>i</code> shall be less than the number of values pointed to by <code>mem</code>.
the result of element-wise application of <code>std::max(a[i], b[i])</code> for all <code>i</code> ∊ <code>[0, size())</code> in the <code>second</code> member, and
2293
+
the result of element-wise application of <code>std::max(a[i], b[i])</code> for all <code>i</code> ∊ <code>[0, size())</code> in the <code>second</code> member.
<p>The header <code><experimental/execution></code> declares a global object associated with each type of execution policy defined by this Technical Specification.</p>
A <code>task_block</code> is <em>active</em> if it was created by the nearest enclosingtask block, where “task block” refers to an
96
-
invocation of <code>define_task_block</code> or <code>define_task_block_restore_thread</code> and “nearest enclosing” means the most
95
+
A <code>task_block</code> is <em>active</em> if it was created by the <ins><em>nearest enclosing</em></ins><del>nearest enclosing</del><ins><em>task block</em></ins><del>task block</del>, where <ins><em>task block</em></ins><del>“task block”</del> refers to an
96
+
invocation of <code>define_task_block</code> or <code>define_task_block_restore_thread</code> and <ins><em>nearest enclosing</em></ins><del>“nearest enclosing”</del> means the most
97
97
recent invocation that has not yet completed. Code designated for execution in another thread by means other
98
98
than the facilities in this section (e.g., using <code>thread</code> or <code>async</code>) are not enclosed in the task block and a
99
99
<code>task_block</code> passed to (or captured by) such code is not active within that code. Performing any operation on a
0 commit comments