From 415c8f7aa5626a5cfeba94c11a0b43ac72fea86e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Tr=C3=A1vn=C3=AD=C4=8Dek?= <jan.travnicek@fit.cvut.cz> Date: Fri, 26 Nov 2021 19:51:58 +0100 Subject: [PATCH] tidy: use named constant --- .../src/automaton/generate/NumberOfSymbolsAutomaton.cpp | 6 +++++- .../automaton/generate/RandomTreeAutomatonFactory.cpp | 6 +++++- alib2algo/src/grammar/generate/RandomGrammarFactory.cpp | 8 ++++++-- alib2algo/src/regexp/generate/RandomRegExpFactory.cpp | 8 ++++++-- alib2algo/src/string/generate/RandomStringFactory.cpp | 6 +++++- alib2algo/src/tree/generate/RandomTreeFactory.cpp | 9 +++++++-- .../src/automaton/RandomAutomatonFactory2.cpp | 6 +++++- .../src/automaton/RandomAutomatonFactory3.cpp | 6 +++++- 8 files changed, 44 insertions(+), 11 deletions(-) diff --git a/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp b/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp index 1ba72638c4..70487678f0 100644 --- a/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp +++ b/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp @@ -7,8 +7,12 @@ namespace automaton::generate { +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + automaton::NFA < std::string, unsigned > NumberOfSymbolsAutomaton::generateNFA ( size_t modulo, size_t alphabetSize, bool randomizedAlphabet, char symbol, size_t final_modulo ) { - if ( alphabetSize > 26 ) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big alphabet."); if ( alphabetSize < 1 ) diff --git a/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp b/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp index 385ec23750..38f56b280b 100644 --- a/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp +++ b/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp @@ -3,8 +3,12 @@ namespace automaton::generate { +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + automaton::NFTA < std::string, unsigned > RandomTreeAutomatonFactory::generateNFTA( size_t statesCount, size_t alphabetSize, size_t maxRank, bool randomizedAlphabet, double density ) { - if(alphabetSize > 26) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big alphabet."); if(alphabetSize < 1) diff --git a/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp b/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp index a8b0bb0a4b..a379e509b7 100644 --- a/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp +++ b/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp @@ -3,8 +3,12 @@ namespace grammar::generate { +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + grammar::CFG < std::string, std::string > grammar::generate::RandomGrammarFactory::generateCFG ( size_t nonterminalsCount, size_t terminalsCount, bool randomizedAlphabet, double density ) { - if(terminalsCount > 26) + if ( terminalsCount > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big terminals count."); ext::deque < std::string > terminals; @@ -16,7 +20,7 @@ grammar::CFG < std::string, std::string > grammar::generate::RandomGrammarFactor terminals.resize ( terminalsCount ); - if(nonterminalsCount > 26) + if ( nonterminalsCount > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big nonterminals count."); ext::deque < std::string > nonterminals; diff --git a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp index eaed41e151..5f27ce8da5 100644 --- a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp +++ b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp @@ -9,8 +9,12 @@ namespace regexp::generate { +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + regexp::UnboundedRegExp < std::string > regexp::generate::RandomRegExpFactory::generateUnboundedRegExp( size_t leafNodes, size_t height, size_t alphabetSize, bool randomizedAlphabet ) { - if ( alphabetSize > 26 ) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException( "Too big alphabet." ); if ( alphabetSize <= 0 ) @@ -31,7 +35,7 @@ regexp::UnboundedRegExp < std::string > regexp::generate::RandomRegExpFactory::g template < class SymbolType > regexp::UnboundedRegExp < SymbolType > regexp::generate::RandomRegExpFactory::generateUnboundedRegExp( size_t leafNodes, size_t height, ext::set < SymbolType > alphabet) { - if( alphabet.size() > 26) + if ( alphabet.size() > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big alphabet."); if( alphabet.empty ( ) ) diff --git a/alib2algo/src/string/generate/RandomStringFactory.cpp b/alib2algo/src/string/generate/RandomStringFactory.cpp index 2b186580e2..de8c8da0c9 100644 --- a/alib2algo/src/string/generate/RandomStringFactory.cpp +++ b/alib2algo/src/string/generate/RandomStringFactory.cpp @@ -20,8 +20,12 @@ string::LinearString < std::string > string::generate::RandomStringFactory::gene return string::LinearString < std::string > ( elems ); } +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + string::LinearString < std::string > string::generate::RandomStringFactory::generateLinearString ( size_t size, size_t alphabetSize, bool randomizedAlphabet ) { - if ( alphabetSize > 26 ) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException ( "Too big alphabet." ); if ( alphabetSize <= 0 ) diff --git a/alib2algo/src/tree/generate/RandomTreeFactory.cpp b/alib2algo/src/tree/generate/RandomTreeFactory.cpp index d66de9d5e9..7e377e6d75 100644 --- a/alib2algo/src/tree/generate/RandomTreeFactory.cpp +++ b/alib2algo/src/tree/generate/RandomTreeFactory.cpp @@ -249,10 +249,15 @@ struct Node { }; +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + ext::vector < char > generateUnrankedAlphabet ( size_t maxAlphabetSize, bool randomizedAlphabet ) { - ext::vector < char > symbols ( 26 ); + ext::vector < char > symbols ( ENGLISH_ALPHABET_SIZE ); - for ( unsigned i = 0; i < 26; i++ ) symbols[i] = i + 'a'; + for ( unsigned i = 0; i < ENGLISH_ALPHABET_SIZE; i ++ ) + symbols [ i ] = i + 'a'; if ( randomizedAlphabet ) shuffle ( symbols.begin ( ), symbols.end ( ), ext::random_devices::semirandom ); diff --git a/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp b/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp index 9f87bb2a53..717d81b129 100644 --- a/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp +++ b/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp @@ -31,8 +31,12 @@ size_t RandomAutomatonFactory2::randomTargetState ( size_t statesMinimal, size_t return -1; } +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + automaton::DFA < std::string, unsigned > RandomAutomatonFactory2::generateDFA( size_t statesMinimal, size_t statesDuplicates, size_t statesUnreachable, size_t statesUseless, size_t alphabetSize, bool randomizedAlphabet, double density ) { - if ( alphabetSize > 26 ) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big alphabet."); ext::vector < std::string > symbols; diff --git a/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp b/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp index 9709adf921..8c5c9fa2f4 100644 --- a/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp +++ b/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp @@ -3,8 +3,12 @@ namespace automaton::generate { +namespace { + constexpr unsigned ENGLISH_ALPHABET_SIZE = 26; +} + automaton::MultiInitialStateNFA < std::string, unsigned > RandomAutomatonFactory3::generate ( size_t statesMinimal, size_t statesDuplicates, size_t statesUnreachable, size_t statesUseless, size_t initialStates, size_t finalStates, size_t alphabetSize, bool randomizedAlphabet, double density, bool deterministic ) { - if ( alphabetSize > 26 ) + if ( alphabetSize > ENGLISH_ALPHABET_SIZE ) throw exception::CommonException("Too big alphabet."); if ( initialStates > statesUseless + statesMinimal ) -- GitLab