update tests that failed and add shonan averaging test
parent
d9106fd190
commit
41280d4d1e
|
@ -557,25 +557,23 @@ TEST(HybridBayesNet, Sampling) {
|
||||||
double discrete_sum =
|
double discrete_sum =
|
||||||
std::accumulate(discrete_samples.begin(), discrete_samples.end(),
|
std::accumulate(discrete_samples.begin(), discrete_samples.end(),
|
||||||
decltype(discrete_samples)::value_type(0));
|
decltype(discrete_samples)::value_type(0));
|
||||||
#if __APPLE__
|
#if __APPLE__ || _WIN32
|
||||||
EXPECT_DOUBLES_EQUAL(0.477, discrete_sum / num_samples, 1e-9);
|
EXPECT_DOUBLES_EQUAL(0.477, discrete_sum / num_samples, 1e-9);
|
||||||
#elif __linux__
|
#elif __linux__
|
||||||
EXPECT_DOUBLES_EQUAL(0.477, discrete_sum / num_samples, 1e-9);
|
EXPECT_DOUBLES_EQUAL(0.477, discrete_sum / num_samples, 1e-9);
|
||||||
#elif _WIN32
|
|
||||||
EXPECT_DOUBLES_EQUAL(0.477, discrete_sum / num_samples, 1e-9);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VectorValues expected;
|
VectorValues expected;
|
||||||
|
// regression for specific RNG seed
|
||||||
|
#if __APPLE__ || _WIN32
|
||||||
expected.insert({X(0), Vector1(-0.0131207162712)});
|
expected.insert({X(0), Vector1(-0.0131207162712)});
|
||||||
expected.insert({X(1), Vector1(-0.499026377568)});
|
expected.insert({X(1), Vector1(-0.499026377568)});
|
||||||
// regression for specific RNG seed
|
|
||||||
#if __APPLE__
|
|
||||||
EXPECT(assert_equal(expected, average_continuous.scale(1.0 / num_samples)));
|
|
||||||
#elif __linux__
|
#elif __linux__
|
||||||
EXPECT(assert_equal(expected, average_continuous.scale(1.0 / num_samples)));
|
expected.insert({X(0), Vector1(-0.00799425)});
|
||||||
#elif _WIN32
|
expected.insert({X(1), Vector1(-0.526464)});
|
||||||
EXPECT(assert_equal(expected, average_continuous.scale(1.0 / num_samples)));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
EXPECT(assert_equal(expected, average_continuous.scale(1.0 / num_samples)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ****************************************************************************/
|
/* ****************************************************************************/
|
||||||
|
|
|
@ -192,8 +192,8 @@ TEST(GaussianBayesNet, sample) {
|
||||||
EXPECT(assert_equal(Vector2(20.0129382, 40.0039798), actual[X(1)], 1e-5));
|
EXPECT(assert_equal(Vector2(20.0129382, 40.0039798), actual[X(1)], 1e-5));
|
||||||
EXPECT(assert_equal(Vector2(110.032083, 230.039811), actual[X(0)], 1e-5));
|
EXPECT(assert_equal(Vector2(110.032083, 230.039811), actual[X(0)], 1e-5));
|
||||||
#elif __linux__
|
#elif __linux__
|
||||||
EXPECT(assert_equal(Vector2(20.0129382, 40.0039798), actual[X(1)], 1e-5));
|
EXPECT(assert_equal(Vector2(20.0070499, 39.9942591), actual[X(1)], 1e-5));
|
||||||
EXPECT(assert_equal(Vector2(110.032083, 230.039811), actual[X(0)], 1e-5));
|
EXPECT(assert_equal(Vector2(109.976501, 229.990945), actual[X(0)], 1e-5));
|
||||||
#elif _WIN32
|
#elif _WIN32
|
||||||
EXPECT(assert_equal(Vector2(20.0129382, 40.0039798), actual[X(1)], 1e-5));
|
EXPECT(assert_equal(Vector2(20.0129382, 40.0039798), actual[X(1)], 1e-5));
|
||||||
EXPECT(assert_equal(Vector2(110.032083, 230.039811), actual[X(0)], 1e-5));
|
EXPECT(assert_equal(Vector2(110.032083, 230.039811), actual[X(0)], 1e-5));
|
||||||
|
|
|
@ -465,12 +465,10 @@ TEST(GaussianConditional, sample) {
|
||||||
auto actual3 = conditional.sample(given, &rng);
|
auto actual3 = conditional.sample(given, &rng);
|
||||||
EXPECT_LONGS_EQUAL(1, actual2.size());
|
EXPECT_LONGS_EQUAL(1, actual2.size());
|
||||||
// regressions
|
// regressions
|
||||||
#ifdef __APPLE__
|
#if __APPLE__ || _WIN32
|
||||||
EXPECT(assert_equal(Vector2(31.0111856, 64.9850775), actual2[X(0)], 1e-5));
|
EXPECT(assert_equal(Vector2(31.0111856, 64.9850775), actual2[X(0)], 1e-5));
|
||||||
#elif __linux__
|
#elif __linux__
|
||||||
EXPECT(assert_equal(Vector2(31.0111856, 64.9850775), actual2[X(0)], 1e-5));
|
EXPECT(assert_equal(Vector2(30.9809331, 64.9927588), actual2[X(0)], 1e-5));
|
||||||
#elif _WIN32
|
|
||||||
EXPECT(assert_equal(Vector2(31.0111856, 64.9850775), actual2[X(0)], 1e-5));
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,7 +521,7 @@ TEST(GaussianConditional, Print) {
|
||||||
" d = [ 20 40 ]\n"
|
" d = [ 20 40 ]\n"
|
||||||
" mean: 1 elements\n"
|
" mean: 1 elements\n"
|
||||||
" x0: 20 40\n"
|
" x0: 20 40\n"
|
||||||
" logNormalizationConstant: -4.0351\n"
|
" logNormalizationConstant: -4.03510164\n"
|
||||||
"isotropic dim=2 sigma=3\n";
|
"isotropic dim=2 sigma=3\n";
|
||||||
EXPECT(assert_print_equal(expected, conditional, "GaussianConditional"));
|
EXPECT(assert_print_equal(expected, conditional, "GaussianConditional"));
|
||||||
|
|
||||||
|
|
|
@ -205,14 +205,20 @@ TEST(ShonanAveraging3, CheckWithEigen) {
|
||||||
ShonanAveraging3::LiftwithDescent(4, Qstar3, descentDirection);
|
ShonanAveraging3::LiftwithDescent(4, Qstar3, descentDirection);
|
||||||
EXPECT_LONGS_EQUAL(5, initialQ4.size());
|
EXPECT_LONGS_EQUAL(5, initialQ4.size());
|
||||||
|
|
||||||
// TODO(frank): uncomment this regression test: currently not repeatable
|
Matrix expected(4, 4);
|
||||||
// across platforms.
|
#if __APPLE__ || _WIN32
|
||||||
// Matrix expected(4, 4);
|
expected << 0.0459224, -0.688689, -0.216922, 0.690321, //
|
||||||
// expected << 0.0459224, -0.688689, -0.216922, 0.690321, //
|
0.92381, 0.191931, 0.255854, 0.21042, //
|
||||||
// 0.92381, 0.191931, 0.255854, 0.21042, //
|
-0.376669, 0.301589, 0.687953, 0.542111, //
|
||||||
// -0.376669, 0.301589, 0.687953, 0.542111, //
|
-0.0508588, 0.630804, -0.643587, 0.43046;
|
||||||
// -0.0508588, 0.630804, -0.643587, 0.43046;
|
#elif __linux__
|
||||||
// EXPECT(assert_equal(SOn(expected), initialQ4.at<SOn>(0), 1e-5));
|
expected << 0.0459224, -0.688689, -0.216922, 0.690321, //
|
||||||
|
0.92381, 0.191931, 0.255854, 0.21042, //
|
||||||
|
-0.376669, 0.301589, 0.687953, 0.542111, //
|
||||||
|
-0.0508588, 0.630804, -0.643587, 0.43046;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EXPECT(assert_equal(SOn(expected), initialQ4.at<SOn>(0), 1e-5));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
|
|
Loading…
Reference in New Issue