Skip to content

Commit a3b0659

Browse files
committed
Merge branch 'develop' into release/v2.39.0
2 parents a888c8a + 8b3b76f commit a3b0659

3 files changed

Lines changed: 28 additions & 3 deletions

File tree

src/stan/mcmc/hmc/hamiltonians/ps_point.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class ps_point {
2424

2525
virtual inline void get_param_names(std::vector<std::string>& model_names,
2626
std::vector<std::string>& names) {
27-
names.reserve(q.size() + p.size() + g.size());
27+
names.reserve(names.size() + q.size() + p.size() + g.size());
2828
for (int i = 0; i < q.size(); ++i)
2929
names.emplace_back(model_names[i]);
3030
for (int i = 0; i < p.size(); ++i)
@@ -34,7 +34,7 @@ class ps_point {
3434
}
3535

3636
virtual inline void get_params(std::vector<double>& values) {
37-
values.reserve(q.size() + p.size() + g.size());
37+
values.reserve(values.size() + q.size() + p.size() + g.size());
3838
for (int i = 0; i < q.size(); ++i)
3939
values.push_back(q[i]);
4040
for (int i = 0; i < p.size(); ++i)

src/test/unit/mcmc/hmc/hamiltonians/ps_point_test.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,30 @@ TEST(psPoint, write_metric_streams) {
2121
EXPECT_EQ("", stan::test::cerr_ss.str());
2222
}
2323

24+
TEST(psPoint, get_param_names_appends_to_existing_names) {
25+
ps_point point(2);
26+
std::vector<std::string> model_names{"alpha", "beta"};
27+
std::vector<std::string> names{"lp__"};
28+
29+
point.get_param_names(model_names, names);
30+
31+
std::vector<std::string> expected{"lp__", "alpha", "beta", "p_alpha",
32+
"p_beta", "g_alpha", "g_beta"};
33+
EXPECT_EQ(expected, names);
34+
}
35+
36+
TEST(psPoint, get_params_appends_to_existing_values) {
37+
ps_point point(2);
38+
point.q << 1.0, 2.0;
39+
point.p << 3.0, 4.0;
40+
point.g << 5.0, 6.0;
41+
std::vector<double> values{-1.0};
42+
43+
point.get_params(values);
44+
45+
std::vector<double> expected{-1.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0};
46+
EXPECT_EQ(expected, values);
47+
}
48+
2449
} // namespace mcmc
2550
} // namespace stan

0 commit comments

Comments
 (0)