From 5141e7e6bc5a97af2091f479ba8c400411edbf49 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Fri, 8 Apr 2016 13:34:17 +0200 Subject: [PATCH] use natural unsigned type --- .../determinize/DeterminizeNFTAPart.cxx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/alib2algo/src/automaton/determinize/DeterminizeNFTAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeNFTAPart.cxx index 02f19dbc1a..0f467bddf2 100644 --- a/alib2algo/src/automaton/determinize/DeterminizeNFTAPart.cxx +++ b/alib2algo/src/automaton/determinize/DeterminizeNFTAPart.cxx @@ -20,11 +20,11 @@ std::set<State> getTransitionRightSide(const NFTA & nfta, const alphabet::Ranked for (const auto & transition : nfta.getTransitions()) { if (transition.first.first != symbol) continue; - int i = (int) symbol.getRank().getData() - 1; //TODO az budou testy predelat na unsigned - for (; i >= 0; i--) - if (!recreateNFAStates(states[i]).count(transition.first.second[i])) break; + unsigned i = symbol.getRank().getData(); + for (; i > 0; i--) + if (!recreateNFAStates(states[i - 1]).count(transition.first.second[i - 1])) break; - if (i == -1) res.insert(transition.second.begin(), transition.second.end()); + if (i == 0) res.insert(transition.second.begin(), transition.second.end()); } return res; } @@ -52,7 +52,7 @@ DFTA Determinize::determinize(const NFTA & nfta) { std::set<State> nftaStates = recreateNFAStates(currentState); std::deque<std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, State> > transitions; - std::deque<int> stops; + std::deque<unsigned> stops; for (const auto & transition : res.getTransitions()) { transitions.push_back(transition); stops.push_back(0); @@ -60,12 +60,12 @@ DFTA Determinize::determinize(const NFTA & nfta) { while(!transitions.empty()) { auto transition = transitions.front(); - int stop = stops.front(); + unsigned stop = stops.front(); transitions.pop_front(); stops.pop_front(); const std::vector<State> & states = transition.first.second; - for (int i = stop; i < (int) states.size(); i++) { + for (unsigned i = stop; i < states.size(); i++) { if (recreateNFAStates(states[i]).size() != 1) continue; State nftaState = *recreateNFAStates(states[i]).begin(); if (nftaStates.count(nftaState)) { @@ -76,7 +76,7 @@ DFTA Determinize::determinize(const NFTA & nfta) { if (!newNextStates.empty()) { State newNextState = createDFAState(newNextStates); if (res.addState(newNextState)) todo.push_back(newNextState); - if (res.addTransition(transition.first.first, newStates, newNextState) && i != (int) states.size()-1) { + if (res.addTransition(transition.first.first, newStates, newNextState) && i + 1!= states.size()) { transitions.push_back(std::make_pair(std::make_pair(transition.first.first, newStates), newNextState)); stops.push_back(i + 1); } -- GitLab