Skip to content

Commit c38abc0

Browse files
committed
examples: boris: tests: fix particle utility tests and bug in operators
1 parent 4d280a0 commit c38abc0

File tree

2 files changed

+119
-165
lines changed

2 files changed

+119
-165
lines changed

examples/boris/particle_util_impl.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)