AssignmentMatrix.cpp
Go to the documentation of this file.
1 /*
2  * Assignment.h
3  *
4  * Created on: Jul 28, 2011
5  * Author: sdries
6  */
7 
10 
11 #include <algorithm>
12 #include <stdio.h>
13 
14 using namespace std;
15 
16 namespace mhf {
17 
18 bool compareAssignments(const Assignment* ass1, const Assignment* ass2) {
19  return ass1->getProbability() > ass2->getProbability();
20 }
21 
22 AssignmentMatrix::AssignmentMatrix() {
23 
24 }
25 
26 AssignmentMatrix::~AssignmentMatrix() {
27 
28 }
29 
30 void AssignmentMatrix::addPotentialAssignment(const Assignment& assignment) {
31  map<const Evidence*, unsigned int>::iterator it_ev = evidence_to_index_.find(assignment.getEvidence());
32 
33  int ev_index;
34  if (it_ev == evidence_to_index_.end()) {
35  ev_index = assignments_.size();
36  evidence_to_index_[assignment.getEvidence()] = ev_index;
37  assignments_.resize(ev_index + 1);
38  } else {
39  ev_index = it_ev->second;
40  }
41 
42  assignments_[ev_index].push_back(&assignment);
43 }
44 
45 
46 void AssignmentMatrix::sortAssignments() {
47  for(vector<vector<const Assignment*> >::iterator it_ev = assignments_.begin(); it_ev != assignments_.end(); ++it_ev) {
48  sort(it_ev->begin(), it_ev->end(), compareAssignments);
49  }
50 }
51 
52 const Assignment& AssignmentMatrix::getAssignment(unsigned int i_ev, int i_assignment) {
53  return *assignments_[i_ev][i_assignment];
54 }
55 
56 unsigned int AssignmentMatrix::getNumAssignments(unsigned int i_ev) {
57  return assignments_[i_ev].size();
58 }
59 
60 unsigned int AssignmentMatrix::getNumMeasurements() const {
61  return assignments_.size();
62 }
63 
64 }
iterator(field< oT > &in_M, const bool at_end=false)
double getProbability() const
Definition: Assignment.cpp:36
arma_inline const Op< T1, op_sort > sort(const Base< typename T1::elem_type, T1 > &X, const uword sort_type=0, const uword dim=0)
bool compareAssignments(const Assignment *ass1, const Assignment *ass2)
const Evidence * getEvidence() const
Definition: Assignment.cpp:28
Definition: ClassModel.h:44


wire_core
Author(s): Sjoerd van den Dries, Jos Elfring
autogenerated on Fri Apr 16 2021 02:32:27