@@ -158,7 +158,7 @@ namespace pfasst
158158 template <typename precision>
159159 inline static precision norm0 (const vector<precision>& data)
160160 {
161- return norm0 (data.cbegin (), data.cend ());
161+ return norm0<precision> (data.cbegin (), data.cend ());
162162 }
163163
164164 template <typename precision>
@@ -192,7 +192,7 @@ namespace pfasst
192192 std::transform (first.cbegin (), first.cend (), second.cbegin (), dest.begin (), std::plus<precision>());
193193 } else if (first.size () % 3 == 0 && second.size () == 3 ) {
194194 dest.resize (first.size ());
195- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
195+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
196196 std::transform (first.cbegin () + (p * 3 ), first.cbegin () + ((p+1 ) * 3 ),
197197 second.cbegin (), dest.begin () + (p * 3 ), std::plus<precision>());
198198 }
@@ -234,12 +234,12 @@ namespace pfasst
234234 if (first.size () == second.size ()) {
235235 transform (first.cbegin (), first.cend (), second.cbegin (), first.begin (), std::plus<precision>());
236236 } else if (first.size () % 3 == 0 && second.size () == 3 ) {
237- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
237+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
238238 std::transform (first.cbegin () + (p * 3 ), first.cbegin () + ((p+1 ) * 3 ),
239239 second.cbegin (), first.begin () + (p * 3 ), std::plus<precision>());
240240 }
241241 } else if (first.size () == 3 && second.size () % 3 == 0 ) {
242- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
242+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
243243 std::transform (first.cbegin (), first.cend (), second.cbegin () + (p * 3 ),
244244 first.begin (), std::plus<precision>());
245245 }
@@ -270,13 +270,13 @@ namespace pfasst
270270 std::transform (first.cbegin (), first.cend (), second.cbegin (), dest.begin (), std::minus<precision>());
271271 } else if (first.size () % 3 == 0 && second.size () == 3 ) {
272272 dest.resize (first.size ());
273- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
273+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
274274 std::transform (first.cbegin () + (p * 3 ), first.cbegin () + ((p+1 ) * 3 ), second.cbegin (),
275275 dest.begin () + (p * 3 ), std::minus<precision>());
276276 }
277277 } else if (first.size () == 3 && second.size () % 3 == 0 ) {
278278 dest.resize (first.size ());
279- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
279+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
280280 std::transform (first.cbegin (), first.cend (), second.cbegin () + (p * 3 ),
281281 dest.begin () + (p * 3 ), std::minus<precision>());
282282 }
@@ -303,12 +303,12 @@ namespace pfasst
303303 if (first.size () == second.size ()) {
304304 transform (first.cbegin (), first.cend (), second.cbegin (), first.begin (), std::minus<precision>());
305305 } else if (first.size () % 3 == 0 && second.size () == 3 ) {
306- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
306+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
307307 std::transform (first.cbegin () + (p * 3 ), first.cbegin () + ((p+1 ) * 3 ),
308308 second.cbegin (), first.begin () + (p * 3 ), std::minus<precision>());
309309 }
310310 } else if (first.size () == 3 && second.size () % 3 == 0 ) {
311- for (size_t p = 0 ; p < first.size () % 3 ; ++p) {
311+ for (size_t p = 0 ; p < first.size () / 3 ; ++p) {
312312 std::transform (first.cbegin (), first.cend (), second.cbegin () + (p * 3 ),
313313 first.begin (), std::minus<precision>());
314314 }
0 commit comments