29 #ifndef _GLIBCXX_PARALLEL_NUMERICFWD_H
30 #define _GLIBCXX_PARALLEL_NUMERICFWD_H 1
32 #pragma GCC system_header
37 namespace std _GLIBCXX_VISIBILITY(default)
41 template<
typename _IIter,
typename _Tp>
43 accumulate(_IIter, _IIter, _Tp);
45 template<
typename _IIter,
typename _Tp>
49 template<
typename _IIter,
typename _Tp>
53 template<
typename _IIter,
typename _Tp,
typename _Tag>
55 __accumulate_switch(_IIter, _IIter, _Tp, _Tag);
57 template<
typename _IIter,
typename _Tp,
typename _BinaryOper>
59 accumulate(_IIter, _IIter, _Tp, _BinaryOper);
61 template<
typename _IIter,
typename _Tp,
typename _BinaryOper>
63 accumulate(_IIter, _IIter, _Tp, _BinaryOper,
66 template<
typename _IIter,
typename _Tp,
typename _BinaryOper>
68 accumulate(_IIter, _IIter, _Tp, _BinaryOper,
71 template<
typename _IIter,
typename _Tp,
typename _BinaryOper,
74 __accumulate_switch(_IIter, _IIter, _Tp, _BinaryOper, _Tag);
76 template<
typename _RAIter,
typename _Tp,
typename _BinaryOper>
78 __accumulate_switch(_RAIter, _RAIter, _Tp, _BinaryOper,
79 random_access_iterator_tag,
83 template<
typename _IIter,
typename _OIter>
85 adjacent_difference(_IIter, _IIter, _OIter);
87 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
89 adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper);
91 template<
typename _IIter,
typename _OIter>
93 adjacent_difference(_IIter, _IIter, _OIter,
96 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
98 adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper,
101 template<
typename _IIter,
typename _OIter>
103 adjacent_difference(_IIter, _IIter, _OIter,
106 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
108 adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper,
111 template<
typename _IIter,
typename _OIter,
typename _BinaryOper,
112 typename _Tag1,
typename _Tag2>
114 __adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper,
117 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
119 __adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper,
120 random_access_iterator_tag,
121 random_access_iterator_tag,
125 template<
typename _IIter1,
typename _IIter2,
typename _Tp>
127 inner_product(_IIter1, _IIter1, _IIter2, _Tp);
129 template<
typename _IIter1,
typename _IIter2,
typename _Tp>
131 inner_product(_IIter1, _IIter1, _IIter2, _Tp,
134 template<
typename _IIter1,
typename _IIter2,
typename _Tp>
136 inner_product(_IIter1, _IIter1, _IIter2, _Tp,
139 template<
typename _IIter1,
typename _IIter2,
typename _Tp,
140 typename _BinaryFunction1,
typename _BinaryFunction2>
142 inner_product(_IIter1, _IIter1, _IIter2, _Tp,
143 _BinaryFunction1, _BinaryFunction2);
145 template<
typename _IIter1,
typename _IIter2,
typename _Tp,
146 typename _BinaryFunction1,
typename _BinaryFunction2>
148 inner_product(_IIter1, _IIter1, _IIter2, _Tp, _BinaryFunction1,
151 template<
typename _IIter1,
typename _IIter2,
typename _Tp,
152 typename BinaryFunction1,
typename BinaryFunction2>
154 inner_product(_IIter1, _IIter1, _IIter2, _Tp, BinaryFunction1,
157 template<
typename _RAIter1,
typename _RAIter2,
typename _Tp,
158 typename BinaryFunction1,
typename BinaryFunction2>
160 __inner_product_switch(_RAIter1, _RAIter1, _RAIter2, _Tp, BinaryFunction1,
161 BinaryFunction2, random_access_iterator_tag,
162 random_access_iterator_tag,
166 template<
typename _IIter1,
typename _IIter2,
typename _Tp,
167 typename _BinaryFunction1,
typename _BinaryFunction2,
168 typename _Tag1,
typename _Tag2>
170 __inner_product_switch(_IIter1, _IIter1, _IIter2, _Tp, _BinaryFunction1,
171 _BinaryFunction2, _Tag1, _Tag2);
174 template<
typename _IIter,
typename _OIter>
178 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
180 partial_sum(_IIter, _IIter, _OIter, _BinaryOper,
183 template<
typename _IIter,
typename _OIter>
185 partial_sum(_IIter, _IIter, _OIter __result);
187 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
189 partial_sum(_IIter, _IIter, _OIter, _BinaryOper);
191 template<
typename _IIter,
typename _OIter,
typename _BinaryOper,
192 typename _Tag1,
typename _Tag2>
194 __partial_sum_switch(_IIter, _IIter, _OIter, _BinaryOper, _Tag1, _Tag2);
196 template<
typename _IIter,
typename _OIter,
typename _BinaryOper>
198 __partial_sum_switch(_IIter, _IIter, _OIter, _BinaryOper,
199 random_access_iterator_tag, random_access_iterator_tag);