@@ -481,7 +481,7 @@ <h1>For each</h1>
481
481
</ cxx-section >
482
482
483
483
< cxx-section id ="parallel.alg.added.numeric.synop ">
484
- < h1 > Header < code > <experimental/numeric></ code > </ h1 >
484
+ < h1 > Header < code > <experimental/numeric></ code > < ins2 > synopsis </ ins2 > < /h1 >
485
485
486
486
< pre >
487
487
namespace std {
@@ -522,7 +522,7 @@ <h1>Header <code><experimental/numeric></code></h1>
522
522
OutputIterator
523
523
inclusive_scan(InputIterator first, InputIterator last,
524
524
OutputIterator result,
525
- T init );
525
+ BinaryOperation binary_op );
526
526
template<class InputIterator, class OutputIterator,
527
527
class T, class BinaryOperation>
528
528
OutputIterator
@@ -549,22 +549,24 @@ <h1>Reduce</h1>
549
549
< code > reduce(first, last, typename iterator_traits<InputIterator>::value_type{})</ code >
550
550
</ cxx-returns >
551
551
552
- < cxx-requires >
553
- < code > typename iterator_traits<InputIterator>::value_type{}</ code >
554
- shall be a valid expression. The < code > operator+</ code > function associated with
555
- < code > iterator_traits<InputIterator>::value_type</ code > shall not invalidate iterators or
556
- subranges, nor modify elements in the range < code > [first,last)</ code > .
557
- </ cxx-requires >
552
+ < del2 >
553
+ < cxx-requires >
554
+ < code > typename iterator_traits<InputIterator>::value_type{}</ code >
555
+ shall be a valid expression. The < code > operator+</ code > function associated with
556
+ < code > iterator_traits<InputIterator>::value_type</ code > shall not invalidate iterators or
557
+ subranges, nor modify elements in the range < code > [first,last)</ code > .
558
+ </ cxx-requires >
558
559
559
- < cxx-complexity >
560
- O(< code > last - first</ code > ) applications of < code > operator+</ code > .
561
- </ cxx-complexity >
560
+ < cxx-complexity >
561
+ O(< code > last - first</ code > ) applications of < code > operator+</ code > .
562
+ </ cxx-complexity >
562
563
563
- < cxx-notes >
564
- The primary difference between < code > reduce</ code > and < code > accumulate</ code > is that the behavior
565
- of < code > reduce</ code > may be non-deterministic for non-associative or non-commutative
566
- < code > operator+</ code > .
567
- </ cxx-notes >
564
+ < cxx-notes >
565
+ The primary difference between < code > reduce</ code > and < code > accumulate</ code > is that the behavior
566
+ of < code > reduce</ code > may be non-deterministic for non-associative or non-commutative
567
+ < code > operator+</ code > .
568
+ </ cxx-notes >
569
+ </ del2 >
568
570
</ cxx-function >
569
571
570
572
< cxx-function >
@@ -577,19 +579,21 @@ <h1>Reduce</h1>
577
579
< code > reduce(first, last, init, plus<>())</ code >
578
580
</ cxx-returns >
579
581
580
- < cxx-requires >
581
- The < code > operator+</ code > function associated with < code > T</ code > shall not invalidate iterators
582
- or subranges, nor modify elements in the range < code > [first,last)</ code > .
583
- </ cxx-requires >
582
+ < del2 >
583
+ < cxx-requires >
584
+ The < code > operator+</ code > function associated with < code > T</ code > shall not invalidate iterators
585
+ or subranges, nor modify elements in the range < code > [first,last)</ code > .
586
+ </ cxx-requires >
584
587
585
- < cxx-complexity >
586
- O(< code > last - first</ code > ) applications of < code > operator+</ code > .
587
- </ cxx-complexity >
588
+ < cxx-complexity >
589
+ O(< code > last - first</ code > ) applications of < code > operator+</ code > .
590
+ </ cxx-complexity >
588
591
589
- < cxx-notes >
590
- The primary difference between < code > reduce</ code > and < code > accumulate</ code > is that the behavior
591
- of < code > reduce</ code > may be non-deterministic for non-associative or non-commutative < code > operator+</ code > .
592
- </ cxx-notes >
592
+ < cxx-notes >
593
+ The primary difference between < code > reduce</ code > and < code > accumulate</ code > is that the behavior
594
+ of < code > reduce</ code > may be non-deterministic for non-associative or non-commutative < code > operator+</ code > .
595
+ </ cxx-notes >
596
+ </ del2 >
593
597
</ cxx-function >
594
598
595
599
< cxx-function >
@@ -636,22 +640,24 @@ <h1>Exclusive scan</h1>
636
640
< code > exclusive_scan(first, last, result, init, plus<>())</ code >
637
641
</ cxx-returns >
638
642
639
- < cxx-requires >
640
- The < code > operator+</ code > function associated with < code > iterator_traits<InputIterator>::value_type</ code > shall
641
- not invalidate iterators or subranges, nor modify elements in the ranges < code > [first,last)</ code > or
642
- < code > [result,result + (last - first))</ code > .
643
- </ cxx-requires >
643
+ < del2 >
644
+ < cxx-requires >
645
+ The < code > operator+</ code > function associated with < code > iterator_traits<InputIterator>::value_type</ code > shall
646
+ not invalidate iterators or subranges, nor modify elements in the ranges < code > [first,last)</ code > or
647
+ < code > [result,result + (last - first))</ code > .
648
+ </ cxx-requires >
644
649
645
- < cxx-complexity >
650
+ < cxx-complexity >
646
651
O(< code > last - first</ code > ) applications of < code > operator+</ code > .
647
- </ cxx-complexity >
652
+ </ cxx-complexity >
648
653
649
- < cxx-notes >
650
- The primary difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
651
- < code > exclusive_scan</ code > excludes the < code > i</ code > th input element from the < code > i</ code > th sum.
652
- If the < code > operator+</ code > function is not mathematically associative, the behavior of
653
- < code > exclusive_scan</ code > may be non-deterministic.
654
- </ cxx-notes >
654
+ < cxx-notes >
655
+ The primary difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
656
+ < code > exclusive_scan</ code > excludes the < code > i</ code > th input element from the < code > i</ code > th sum.
657
+ If the < code > operator+</ code > function is not mathematically associative, the behavior of
658
+ < code > exclusive_scan</ code > may be non-deterministic.
659
+ </ cxx-notes >
660
+ </ del2 >
655
661
</ cxx-function >
656
662
657
663
< cxx-function >
@@ -683,7 +689,7 @@ <h1>Exclusive scan</h1>
683
689
</ cxx-complexity >
684
690
685
691
< cxx-notes >
686
- The primary difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
692
+ The < del2 > primary</ del2 > difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
687
693
< code > exclusive_scan</ code > excludes the < code > i</ code > th input element from the < code > i</ code > th
688
694
sum. If < code > binary_op</ code > is not mathematically associative, the behavior of
689
695
< code > exclusive_scan</ code > may be non-deterministic.
@@ -706,23 +712,25 @@ <h1>Inclusive scan</h1>
706
712
< code > inclusive_scan(first, last, result, plus<>())</ code >
707
713
</ cxx-returns >
708
714
709
- < cxx-requires >
710
- The < code > operator+</ code > function associated with
711
- < code > iterator_traits<InputIterator>::value_type</ code > shall not invalidate iterators or
712
- subranges, nor modify elements in the ranges < code > [first,last)</ code > or
713
- < code > [result,result + (last - first))</ code > .
714
- </ cxx-requires >
715
+ < del2 >
716
+ < cxx-requires >
717
+ The < code > operator+</ code > function associated with
718
+ < code > iterator_traits<InputIterator>::value_type</ code > shall not invalidate iterators or
719
+ subranges, nor modify elements in the ranges < code > [first,last)</ code > or
720
+ < code > [result,result + (last - first))</ code > .
721
+ </ cxx-requires >
715
722
716
- < cxx-complexity >
717
- O(< code > last - first</ code > ) applications of < code > operator+</ code > .
718
- </ cxx-complexity >
723
+ < cxx-complexity >
724
+ O(< code > last - first</ code > ) applications of < code > operator+</ code > .
725
+ </ cxx-complexity >
719
726
720
- < cxx-notes >
721
- The < del2 > primary</ del2 > difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
722
- < code > exclusive_scan</ code > excludes the < code > i</ code > th input element from the < code > i</ code > th sum.
723
- If the < code > operator+</ code > function is not mathematically associative, the behavior of
724
- < code > inclusive_scan</ code > may be non-deterministic.
725
- </ cxx-notes >
727
+ < cxx-notes >
728
+ The primary difference between < code > exclusive_scan</ code > and < code > inclusive_scan</ code > is that
729
+ < code > exclusive_scan</ code > excludes the < code > i</ code > th input element from the < code > i</ code > th sum.
730
+ If the < code > operator+</ code > function is not mathematically associative, the behavior of
731
+ < code > inclusive_scan</ code > may be non-deterministic.
732
+ </ cxx-notes >
733
+ </ del2 >
726
734
</ cxx-function >
727
735
728
736
< cxx-function >
0 commit comments