diff --git a/include/autoppl/expression/traits.hpp b/include/autoppl/expression/traits.hpp index bb4c83d2..9d39d3d9 100644 --- a/include/autoppl/expression/traits.hpp +++ b/include/autoppl/expression/traits.hpp @@ -16,6 +16,7 @@ struct var_traits using pointer_t = typename VarType::pointer_t; using state_t = typename VarType::state_t; + // TODO may have to move this to a different class for compile-time checking static_assert(std::is_convertible_v); }; diff --git a/test/distribution/normal_unittest.cpp b/test/distribution/normal_unittest.cpp index 939bac7d..9b229a8c 100644 --- a/test/distribution/normal_unittest.cpp +++ b/test/distribution/normal_unittest.cpp @@ -32,6 +32,15 @@ TEST_F(normal_dist_fixture, simple_gaussian) { EXPECT_DOUBLE_EQ(dist1.log_pdf(0.0), std::log(dist1.pdf(0.0))); EXPECT_DOUBLE_EQ(dist1.log_pdf(-0.5), std::log(dist1.pdf(-0.5))); EXPECT_DOUBLE_EQ(dist1.log_pdf(4), std::log(dist1.pdf(4))); + + + EXPECT_DOUBLE_EQ(dist2.pdf(0.0), 0.3989422804014327); + EXPECT_DOUBLE_EQ(dist2.pdf(-0.5), 0.3520653267642995); + EXPECT_DOUBLE_EQ(dist2.pdf(4), 0.00013383022576488537); + + EXPECT_DOUBLE_EQ(dist2.log_pdf(0.0), std::log(dist2.pdf(0.0))); + EXPECT_DOUBLE_EQ(dist2.log_pdf(-0.5), std::log(dist2.pdf(-0.5))); + EXPECT_DOUBLE_EQ(dist2.log_pdf(4), std::log(dist1.pdf(4))); } } // ppl \ No newline at end of file