43 template <
bool isInitial >
51 template <
bool isInitial >
55 for (
auto leafIter = __leaf2Pair.beginSafe();
56 leafIter != __leaf2Pair.endSafe();
58 delete leafIter.val();
70 template <
bool isInitial >
73 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
76 __leaf2Pair.insert(l, p);
77 __leaf2Pair[l]->updateLikelyhood();
80 return ptop != __pairsHeap.top();
86 template <
bool isInitial >
89 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
92 __pairsHeap.setPriority(__leaf2Pair[l], __leaf2Pair[l]->likelyhood());
94 return ptop != __pairsHeap.top();
100 template <
bool isInitial >
102 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
105 __leaf2Pair.cbeginSafe();
106 pairIter != __leaf2Pair.cendSafe();
109 __pairsHeap.setPriority(pairIter.val(), pairIter.val()->likelyhood());
111 LeafPair* ctop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
119 template <
bool isInitial >
122 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
123 __pairsHeap.erase(__leaf2Pair[l]);
124 __leaf2Pair.erase(l);
126 LeafPair* ctop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
139 template <
bool isInitial >
141 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
144 return ptop != __pairsHeap.top();
150 template <
bool isInitial >
152 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
155 return ptop != __pairsHeap.top();
161 template <
bool isInitial >
163 LeafPair* ptop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
164 __pairsHeap.erase(p);
166 LeafPair* ctop = __pairsHeap.empty() ? nullptr : __pairsHeap.top();
179 template <
bool isInitial >
183 for (
auto pairIter = __leaf2Pair.beginSafe();
184 pairIter != __leaf2Pair.endSafe();
186 retBag << pairIter.val();
192 template <
bool isInitial >
194 std::stringstream ss;
196 ss <<
"Associated Leaf : " << __leaf->
toString() << std::endl
197 <<
"Leaves Heap : " << std::endl;
204 if (!__pairsHeap.empty())
205 ss <<
"Top pair : " << __pairsHeap.top()->toString() << std::endl;
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
<agrum/FMDP/learning/datastructure/leaves/fusionContext.h>
<agrum/FMDP/learning/datastructure/leaves/abstractLeaf.h>
Safe Const Iterators for hashtables.
<agrum/FMDP/learning/datastructure/leaves/leafPair.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
FusionContext(AbstractLeaf *)
Default constructor.
Representation of a setA Set is a structure that contains arbitrary elements.
double likelyhood()
Updates GStatistic.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
void updateLikelyhood()
Updates GStatistic.