Docs
Toggle main menu visibility
Loading...
Searching...
No Matches
Module.hpp
Go to the documentation of this file.
1
#pragma once
2
7
8
#include <Eigen/Dense>
9
#include <unordered_map>
10
#include <vector>
11
18
19
class
Module
{
20
protected
:
27
const
Eigen::VectorXi *
old_allocations_provider
;
28
30
const
std::unordered_map<int, std::vector<int>> *
old_cluster_members_provider
;
31
32
public
:
33
Module
(
const
Eigen::VectorXi *old_allocations_provider_ =
nullptr
,
34
const
std::unordered_map<
int
, std::vector<int>> *old_cluster_members_provider_ =
nullptr
)
35
:
old_allocations_provider
(old_allocations_provider_),
36
old_cluster_members_provider
(old_cluster_members_provider_) {}
37
38
void
set_old_allocations_provider
(
const
Eigen::VectorXi *provider) {
old_allocations_provider
= provider; }
39
40
void
set_old_cluster_members_provider
(
const
std::unordered_map<
int
, std::vector<int>> *provider) {
41
old_cluster_members_provider
= provider;
42
}
43
48
59
virtual
double
compute_similarity_cls
(
int
cls_idx,
bool
old_allo =
false
)
const
= 0;
60
74
virtual
double
compute_similarity_obs
(
int
obs_idx,
int
cls_idx)
const
= 0;
75
85
virtual
Eigen::VectorXd
compute_similarity_obs
(
int
obs_idx)
const
= 0;
86
87
virtual
~Module
() =
default
;
88
};
Module::old_allocations_provider
const Eigen::VectorXi * old_allocations_provider
Provider function for accessing old allocation state.
Definition
Module.hpp:27
Module::~Module
virtual ~Module()=default
Module::Module
Module(const Eigen::VectorXi *old_allocations_provider_=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Definition
Module.hpp:33
Module::old_cluster_members_provider
const std::unordered_map< int, std::vector< int > > * old_cluster_members_provider
Provider function for accessing old cluster members map.
Definition
Module.hpp:30
Module::set_old_cluster_members_provider
void set_old_cluster_members_provider(const std::unordered_map< int, std::vector< int > > *provider)
Definition
Module.hpp:40
Module::compute_similarity_obs
virtual Eigen::VectorXd compute_similarity_obs(int obs_idx) const =0
Compute covariate similarity contributions for all existing clusters.
Module::compute_similarity_obs
virtual double compute_similarity_obs(int obs_idx, int cls_idx) const =0
Compute similarity for a single observation in a cluster.
Module::compute_similarity_cls
virtual double compute_similarity_cls(int cls_idx, bool old_allo=false) const =0
Compute similarity contribution for a cluster.
Module::set_old_allocations_provider
void set_old_allocations_provider(const Eigen::VectorXi *provider)
Definition
Module.hpp:38
BNPClust
utils
Module.hpp
Generated by
1.17.0