Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
DFTBE.cpp
Go to the documentation of this file.
2
6
7namespace storm::dft {
8namespace storage {
9namespace elements {
10
11template<typename ValueType>
12void DFTBE<ValueType>::extendSubDft(std::set<size_t>& elemsInSubtree, std::vector<size_t> const& parentsOfSubRoot, bool blockParents,
13 bool sparesAsLeaves) const {
14 if (elemsInSubtree.count(this->id())) {
15 return;
16 }
17 DFTElement<ValueType>::extendSubDft(elemsInSubtree, parentsOfSubRoot, blockParents, sparesAsLeaves);
18 if (elemsInSubtree.empty()) {
19 // Parent in the subDFT, i.e., it is *not* a subDFT
20 return;
21 }
22 for (auto const& inDep : ingoingDependencies()) {
23 inDep->extendSubDft(elemsInSubtree, parentsOfSubRoot, blockParents, sparesAsLeaves);
24 if (elemsInSubtree.empty()) {
25 // Parent in the subDFT, i.e., it is *not* a subDFT
26 return;
27 }
28 }
29}
30
31// Explicitly instantiate the class.
32template class DFTBE<double>;
33template class DFTBE<RationalFunction>;
34
35} // namespace elements
36} // namespace storage
37} // namespace storm::dft
Abstract base class for basic events (BEs) in DFTs.
Definition DFTBE.h:14
void extendSubDft(std::set< size_t > &elemsInSubtree, std::vector< size_t > const &parentsOfSubRoot, bool blockParents, bool sparesAsLeaves) const override
Helper to the independent subtree computation.
Definition DFTBE.cpp:12
virtual void extendSubDft(std::set< size_t > &elemsInSubtree, std::vector< size_t > const &parentsOfSubRoot, bool blockParents, bool sparesAsLeaves) const
Helper to the independent subtree computation.