diff --git a/src/mixtures.cpp b/src/mixtures.cpp deleted file mode 100644 index ed1a6bd6..00000000 --- a/src/mixtures.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include "sample.h" -#include "partitionfuns.h" -#include "distances.h" -#include "misc.h" -using namespace arma; - -// [[Rcpp::depends(RcppArmadillo)]] - - -void update_dist_mat(mat& dist_mat, const mat& rankings, - const mat& rho_old, const std::string& metric, - const vec& observation_frequency){ - int n_clusters = dist_mat.n_cols; - for(int i = 0; i < n_clusters; ++i) - dist_mat.col(i) = rank_dist_vec(rankings, rho_old.col(i), metric, observation_frequency); -} - - - - - - diff --git a/src/mixtures.h b/src/mixtures.h deleted file mode 100644 index fd2e0afb..00000000 --- a/src/mixtures.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef MIXTURES_H -#define MIXTURES_H - -#include "RcppArmadillo.h" - -void update_dist_mat(arma::mat& dist_mat, const arma::mat& rankings, - const arma::mat& rho_old, const std::string& metric, - const arma::vec& observation_frequency); - - -#endif diff --git a/src/parameters.cpp b/src/parameters.cpp index 6ace3901..48c06ae2 100644 --- a/src/parameters.cpp +++ b/src/parameters.cpp @@ -241,3 +241,12 @@ void Clustering::update_wcd(const int t){ within_cluster_distance.col(t) = wcd; } + +void Clustering::update_dist_mat(const Data& dat, const Parameters& pars){ + + if(!clustering & !include_wcd) return; + + for(int i = 0; i < pars.n_clusters; ++i) + dist_mat.col(i) = rank_dist_vec(dat.rankings, pars.rho_old.col(i), + pars.metric, dat.observation_frequency); +} diff --git a/src/parameters.h b/src/parameters.h index a5783891..ac48241e 100644 --- a/src/parameters.h +++ b/src/parameters.h @@ -7,7 +7,6 @@ #include "distances.h" #include "partitionfuns.h" #include "missing_data.h" -#include "mixtures.h" #include "sample.h" template @@ -141,6 +140,7 @@ struct Clustering { const Rcpp::List& logz_list); void update_wcd(const int t); + void update_dist_mat(const Data& dat, const Parameters& pars); }; diff --git a/src/run_mcmc.cpp b/src/run_mcmc.cpp index 2b95a67c..746cba86 100644 --- a/src/run_mcmc.cpp +++ b/src/run_mcmc.cpp @@ -1,6 +1,5 @@ #include #include "misc.h" -#include "mixtures.h" #include "distances.h" #include "missing_data.h" #include "pairwise_comparisons.h" @@ -27,7 +26,7 @@ Rcpp::List run_mcmc(Rcpp::List data, Parameters pars{model, compute_options, initial_values, dat.n_items}; Clustering clus{pars, compute_options, dat.n_assessors}; - update_dist_mat(clus.dist_mat, dat.rankings, pars.rho_old, pars.metric, dat.observation_frequency); + clus.update_dist_mat(dat, pars); int alpha_index = 0, rho_index = 0, aug_index = 0, cluster_assignment_index = 0; @@ -92,9 +91,8 @@ Rcpp::List run_mcmc(Rcpp::List data, dat.augmented_data.slice(aug_index) = dat.rankings; } - if(clus.clustering | clus.include_wcd){ - update_dist_mat(clus.dist_mat, dat.rankings, pars.rho_old, pars.metric, dat.observation_frequency); - } + clus.update_dist_mat(dat, pars); + } // Return everything that might be of interest