From 39ec19e7c4f3439057099d586a35806a7ed3b5ad Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sat, 1 Feb 2014 21:32:39 +0100 Subject: [PATCH] fix Minimize --- aminimize/src/Minimize.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/aminimize/src/Minimize.cpp b/aminimize/src/Minimize.cpp index 94834d87b4..71c6eb173f 100644 --- a/aminimize/src/Minimize.cpp +++ b/aminimize/src/Minimize.cpp @@ -24,10 +24,11 @@ automaton::State fromInteger(int number) { automaton::FSM Minimize::minimize(automaton::FSM& fsm) { std::map<automaton::State, std::map<alphabet::Symbol, automaton::State > > refactor; + for(std::set<automaton::State>::const_iterator iter = fsm.getStates().begin(); iter != fsm.getStates().end(); iter++) { + refactor.insert(std::pair<automaton::State, std::map<alphabet::Symbol, automaton::State> >(*iter, std::map<alphabet::Symbol, automaton::State>())); + } + for(std::set<automaton::TransitionFSM>::const_iterator iter = fsm.getTransitions().begin(); iter != fsm.getTransitions().end(); iter++) { - if(refactor.find(iter->getFrom()) == refactor.end()) { - refactor.insert(std::pair<automaton::State, std::map<alphabet::Symbol, automaton::State> >(iter->getFrom(), std::map<alphabet::Symbol, automaton::State>())); - } refactor[iter->getFrom()].insert(std::pair<alphabet::Symbol, automaton::State>(iter->getInput(), iter->getTo())); } @@ -94,7 +95,7 @@ automaton::FSM Minimize::minimize(automaton::FSM& fsm) { } - } while(toEquvivalentStates1 != toEquvivalentStates2); + } while(minimizedTransitionFunction1.size() != minimizedTransitionFunction2.size()); automaton::FSM result; for(auto iter = fsm.getInputAlphabet().begin(); iter != fsm.getInputAlphabet().end(); iter++) { -- GitLab