Skip to content

Commit 0ebff47

Browse files
committed
tests: Re-organise the adaptive MLSDC tests a bit.
Signed-off-by: Matthew Emmett <[email protected]>
1 parent ab01747 commit 0ebff47

File tree

1 file changed

+32
-28
lines changed

1 file changed

+32
-28
lines changed

tests/examples/advection_diffusion/test_advection_diffusion.cpp

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,39 +35,43 @@ TEST(ErrorTest, VanillaSDC)
3535
auto get_iter = [](const vtype x) { return get<1>(get<0>(x)); };
3636
auto get_error = [](const vtype x) { return get<1>(x); };
3737

38-
{
39-
auto errors = run_vanilla_sdc(0.0);
40-
auto max_iter = get_iter(*std::max_element(errors.begin(), errors.end(),
41-
[get_iter](const vtype p1, const vtype p2) { return get_iter(p1) < get_iter(p2); }));
42-
43-
vector<double> tol = { 7e-9, 7e-9, 7e-9, 7e-9 };
44-
vector<double> err;
45-
for (auto& x: errors) {
46-
if (get_iter(x) == max_iter) {
47-
err.push_back(get_error(x));
48-
}
49-
}
38+
auto errors = run_vanilla_sdc(0.0);
39+
auto max_iter = get_iter(*std::max_element(errors.begin(), errors.end(),
40+
[get_iter](const vtype p1, const vtype p2) { return get_iter(p1) < get_iter(p2); }));
5041

51-
EXPECT_THAT(err, testing::Pointwise(DoubleLess(), tol));
52-
ASSERT_EQ(max_iter, (size_t)3);
42+
vector<double> tol = { 7e-9, 7e-9, 7e-9, 7e-9 };
43+
vector<double> err;
44+
for (auto& x: errors) {
45+
if (get_iter(x) == max_iter) {
46+
err.push_back(get_error(x));
47+
}
5348
}
5449

55-
{
56-
auto errors = run_vanilla_sdc(1.e-6);
57-
auto max_iter = get_iter(*std::max_element(errors.begin(), errors.end(),
58-
[get_iter](const vtype p1, const vtype p2) { return get_iter(p1) < get_iter(p2); }));
59-
60-
vector<double> tol = { 5e-8, 5e-8, 5e-8, 5e-8 };
61-
vector<double> err;
62-
for (auto& x: errors) {
63-
if (get_iter(x) == max_iter) {
64-
err.push_back(get_error(x));
65-
}
66-
}
50+
EXPECT_THAT(err, testing::Pointwise(DoubleLess(), tol));
51+
ASSERT_EQ(max_iter, (size_t) 3);
52+
}
53+
54+
TEST(AdaptiveErrorTest, VanillaSDC)
55+
{
56+
typedef error_map::value_type vtype;
6757

68-
EXPECT_THAT(err, testing::Pointwise(DoubleLess(), tol));
69-
ASSERT_EQ(max_iter, (size_t)2);
58+
auto get_iter = [](const vtype x) { return get<1>(get<0>(x)); };
59+
auto get_error = [](const vtype x) { return get<1>(x); };
60+
61+
auto errors = run_vanilla_sdc(1.e-6);
62+
auto max_iter = get_iter(*std::max_element(errors.begin(), errors.end(),
63+
[get_iter](const vtype p1, const vtype p2) { return get_iter(p1) < get_iter(p2); }));
64+
65+
vector<double> tol = { 5e-8, 5e-8, 5e-8, 5e-8 };
66+
vector<double> err;
67+
for (auto& x: errors) {
68+
if (get_iter(x) == max_iter) {
69+
err.push_back(get_error(x));
70+
}
7071
}
72+
73+
EXPECT_THAT(err, testing::Pointwise(DoubleLess(), tol));
74+
ASSERT_EQ(max_iter, (size_t) 2);
7175
}
7276

7377
TEST(ErrorTest, SerialMLSDC)

0 commit comments

Comments
 (0)