From 74b512a76ef62c727a453a50590c12eded00c234 Mon Sep 17 00:00:00 2001 From: Mavo Date: Sun, 21 Feb 2016 16:05:03 +0100 Subject: [PATCH] Consider dependencies in DFS for state generation info Former-commit-id: c61210cbd548a265778bc636caedab123107d355 --- src/storage/dft/DFT.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/storage/dft/DFT.cpp b/src/storage/dft/DFT.cpp index 519036fff..92e780872 100644 --- a/src/storage/dft/DFT.cpp +++ b/src/storage/dft/DFT.cpp @@ -80,23 +80,17 @@ namespace storm { std::queue visitQueue; std::set visited; visitQueue.push(subTreeRoots[0]); - bool consideredDependencies = false; - while (true) { - if (consideredDependencies) { - break; - } - - stateIndex = performStateGenerationInfoDFS(generationInfo, visitQueue, visited, stateIndex); - - // Consider dependencies - for (size_t idDependency : getDependencies()) { - std::shared_ptr const> dependency = getDependency(idDependency); - visitQueue.push(dependency->id()); - visitQueue.push(dependency->triggerEvent()->id()); - visitQueue.push(dependency->dependentEvent()->id()); - } - consideredDependencies = true; + stateIndex = performStateGenerationInfoDFS(generationInfo, visitQueue, visited, stateIndex); + + // Consider dependencies + for (size_t idDependency : getDependencies()) { + std::shared_ptr const> dependency = getDependency(idDependency); + visitQueue.push(dependency->id()); + visitQueue.push(dependency->triggerEvent()->id()); + visitQueue.push(dependency->dependentEvent()->id()); } + stateIndex = performStateGenerationInfoDFS(generationInfo, visitQueue, visited, stateIndex); + assert(stateIndex = mStateVectorSize); STORM_LOG_TRACE(generationInfo);