From a1a79edf104541c027b7516452d6c99d399932c7 Mon Sep 17 00:00:00 2001 From: Andrew Pulsipher Date: Mon, 16 Dec 2024 12:07:56 -0700 Subject: [PATCH] Populate m_all_sample_params --- epiworld.hpp | 7 +++++++ include/epiworld/math/lfmcmc/lfmcmc-meat.hpp | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/epiworld.hpp b/epiworld.hpp index 99fc5426..7fca4528 100644 --- a/epiworld.hpp +++ b/epiworld.hpp @@ -1884,6 +1884,7 @@ inline void LFMCMC::run( m_current_accepted_stats.resize(m_n_stats); m_all_sample_drawn_prob.resize(m_n_samples); m_all_sample_acceptance.resize(m_n_samples, false); + m_all_sample_params.resize(m_n_samples * m_n_params); m_all_sample_stats.resize(m_n_samples * m_n_stats); m_all_sample_kernel_scores.resize(m_n_samples); @@ -1906,6 +1907,9 @@ inline void LFMCMC::run( for (size_t k = 0u; k < m_n_params; ++k) m_all_accepted_params[k] = m_initial_params[k]; + + for (size_t k = 0u; k < m_n_params; ++k) + m_all_sample_params[k] = m_initial_params[k]; // Init progress bar progress_bar = Progress(m_n_samples, 80); @@ -1937,6 +1941,9 @@ inline void LFMCMC::run( m_all_sample_kernel_scores[i] = hr; // Storing data + for (size_t k = 0u; k < m_n_params; ++k) + m_all_sample_params[i * m_n_params + k] = m_current_proposed_params[k]; + for (size_t k = 0u; k < m_n_stats; ++k) m_all_sample_stats[i * m_n_stats + k] = m_current_proposed_stats[k]; diff --git a/include/epiworld/math/lfmcmc/lfmcmc-meat.hpp b/include/epiworld/math/lfmcmc/lfmcmc-meat.hpp index d72beede..239f5fa5 100755 --- a/include/epiworld/math/lfmcmc/lfmcmc-meat.hpp +++ b/include/epiworld/math/lfmcmc/lfmcmc-meat.hpp @@ -243,6 +243,7 @@ inline void LFMCMC::run( m_current_accepted_stats.resize(m_n_stats); m_all_sample_drawn_prob.resize(m_n_samples); m_all_sample_acceptance.resize(m_n_samples, false); + m_all_sample_params.resize(m_n_samples * m_n_params); m_all_sample_stats.resize(m_n_samples * m_n_stats); m_all_sample_kernel_scores.resize(m_n_samples); @@ -265,6 +266,9 @@ inline void LFMCMC::run( for (size_t k = 0u; k < m_n_params; ++k) m_all_accepted_params[k] = m_initial_params[k]; + + for (size_t k = 0u; k < m_n_params; ++k) + m_all_sample_params[k] = m_initial_params[k]; // Init progress bar progress_bar = Progress(m_n_samples, 80); @@ -296,6 +300,9 @@ inline void LFMCMC::run( m_all_sample_kernel_scores[i] = hr; // Storing data + for (size_t k = 0u; k < m_n_params; ++k) + m_all_sample_params[i * m_n_params + k] = m_current_proposed_params[k]; + for (size_t k = 0u; k < m_n_stats; ++k) m_all_sample_stats[i * m_n_stats + k] = m_current_proposed_stats[k];