From 9a6862c3cca2b8862cb9cb603bee0c92aec338e3 Mon Sep 17 00:00:00 2001 From: Andrea-Havron-NOAA <85530309+Andrea-Havron-NOAA@users.noreply.github.com> Date: Fri, 2 Aug 2024 18:34:13 +0000 Subject: [PATCH] fix bugs --- .../rcpp_objects/rcpp_tmb_distribution.hpp | 56 +++++++++++++++---- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/inst/include/interface/rcpp/rcpp_objects/rcpp_tmb_distribution.hpp b/inst/include/interface/rcpp/rcpp_objects/rcpp_tmb_distribution.hpp index a09adf00..f9daa094 100644 --- a/inst/include/interface/rcpp/rcpp_objects/rcpp_tmb_distribution.hpp +++ b/inst/include/interface/rcpp/rcpp_objects/rcpp_tmb_distribution.hpp @@ -51,13 +51,7 @@ DistributionsInterfaceBase objects */ * @param input_type String that sets whether the distribution type is: priors, random_effects, or data. * @param ids Vector of unique ids for each linked parameter/s, derived value/s, or observed data vector */ - void set_distribution_links(std::string input_type, Rcpp::IntegerVector ids){ - this->input_type_m = input_type; - this->key_m.resize(ids.size()); - for(size_t i; ikey_m[i] = ids[i]; - } - } + virtual void set_distribution_links(std::string input_type, Rcpp::IntegerVector ids); /** @@ -106,10 +100,24 @@ class DnormDistributionsInterface : public DistributionsInterfaceBase { * @param observed_data_id Unique id for the Observed Age Comp Data * object */ - void set_observed_data(int observed_data_id) { + virtual void set_observed_data(int observed_data_id) { this->interface_observed_data_id_m = observed_data_id; } + /** + * @brief set_distribution_links sets pointers for data observations, random effects, or priors + * + * @param input_type String that sets whether the distribution type is: priors, random_effects, or data. + * @param ids Vector of unique ids for each linked parameter/s, derived value/s, or observed data vector + */ + virtual void set_distribution_links(std::string input_type, Rcpp::IntegerVector ids){ + this->input_type_m = input_type; + this->key_m.resize(ids.size()); + for(size_t i; ikey_m[i] = ids[i]; + } + } + /** * @brief Evaluate normal probability density function, default returns the * log of the pdf @@ -214,10 +222,24 @@ class DlnormDistributionsInterface : public DistributionsInterfaceBase { * @param observed_data_id Unique id for the Observed Age Comp Data * object */ - void set_observed_data(int observed_data_id) { + virtual void set_observed_data(int observed_data_id) { this->interface_observed_data_id_m = observed_data_id; } + /** + * @brief set_distribution_links sets pointers for data observations, random effects, or priors + * + * @param input_type String that sets whether the distribution type is: priors, random_effects, or data. + * @param ids Vector of unique ids for each linked parameter/s, derived value/s, or observed data vector + */ + virtual void set_distribution_links(std::string input_type, Rcpp::IntegerVector ids){ + this->input_type_m = input_type; + this->key_m.resize(ids.size()); + for(size_t i; ikey_m[i] = ids[i]; + } + } + /** * @brief Evaluate lognormal probability density function, default returns the * log of the pdf @@ -319,10 +341,24 @@ class DmultinomDistributionsInterface : public DistributionsInterfaceBase { * @param observed_data_id Unique id for the Observed Age Comp Data * object */ - void set_observed_data(int observed_data_id) { + virtual void set_observed_data(int observed_data_id) { this->interface_observed_data_id_m = observed_data_id; } + /** + * @brief set_distribution_links sets pointers for data observations, random effects, or priors + * + * @param input_type String that sets whether the distribution type is: priors, random_effects, or data. + * @param ids Vector of unique ids for each linked parameter/s, derived value/s, or observed data vector + */ + virtual void set_distribution_links(std::string input_type, Rcpp::IntegerVector ids){ + this->input_type_m = input_type; + this->key_m.resize(ids.size()); + for(size_t i; ikey_m[i] = ids[i]; + } + } + /** * @brief Evaluate multinom probability density function, default returns the * log of the pdf