Skip to content
Snippets Groups Projects
Commit 993bd937 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

format code

parent f1158e4a
No related branches found
No related tags found
No related merge requests found
...@@ -17,39 +17,41 @@ namespace string { ...@@ -17,39 +17,41 @@ namespace string {
   
namespace generate { namespace generate {
   
string::LinearString RandomStringFactory::generateLinearString( size_t size, size_t alphabetSize, bool randomizedAlphabet ) { string::LinearString RandomStringFactory::generateLinearString ( size_t size, size_t alphabetSize, bool randomizedAlphabet ) {
srand( time( NULL ) ); srand ( time ( NULL ) );
   
if(alphabetSize > 26) if ( alphabetSize > 26 )
throw exception::AlibException("Too big alphabet."); throw exception::AlibException ( "Too big alphabet." );
   
if( alphabetSize <= 0 ) if ( alphabetSize <= 0 )
throw exception::AlibException( "Alphabet size must be greater than 0." ); throw exception::AlibException ( "Alphabet size must be greater than 0." );
   
std::vector<alphabet::Symbol> symbols; std::vector < alphabet::Symbol > symbols;
for(int i = 0; i < 26; i++) symbols.push_back(alphabet::symbolFrom(i + 'a'));
if(randomizedAlphabet) shuffle(symbols.begin(), symbols.end(), std::random_devices::semirandom);
std::set<alphabet::Symbol> alphabet(symbols.begin(), symbols.begin() + alphabetSize);
   
return RandomStringFactory::generateLinearString( size, alphabet ); for ( int i = 0; i < 26; i++ ) symbols.push_back ( alphabet::symbolFrom ( i + 'a' ) );
if ( randomizedAlphabet ) shuffle ( symbols.begin ( ), symbols.end ( ), std::random_devices::semirandom );
std::set < alphabet::Symbol > alphabet ( symbols.begin ( ), symbols.begin ( ) + alphabetSize );
return RandomStringFactory::generateLinearString ( size, alphabet );
} }
   
string::LinearString RandomStringFactory::generateLinearString( size_t size, std::set<alphabet::Symbol> alphabet) { string::LinearString RandomStringFactory::generateLinearString ( size_t size, std::set < alphabet::Symbol > alphabet ) {
   
if( alphabet.size() > 26) if ( alphabet.size ( ) > 26 )
throw exception::AlibException("Too big alphabet."); throw exception::AlibException ( "Too big alphabet." );
   
if( alphabet.size() <= 0 ) if ( alphabet.size ( ) <= 0 )
throw exception::AlibException( "Alphabet size must be greater than 0." ); throw exception::AlibException ( "Alphabet size must be greater than 0." );
   
std::vector<alphabet::Symbol> alphabetList(alphabet.begin(), alphabet.end()); std::vector < alphabet::Symbol > alphabetList ( alphabet.begin ( ), alphabet.end ( ) );
std::vector<alphabet::Symbol> elems; std::vector < alphabet::Symbol > elems;
   
for(size_t i = 0; i < size; i++) { for ( size_t i = 0; i < size; i++ )
elems.push_back(alphabetList[std::random_devices::semirandom() % alphabetList.size()]); elems.push_back ( alphabetList[std::random_devices::semirandom ( ) % alphabetList.size ( )] );
}
   
return string::LinearString(elems); return string::LinearString ( elems );
} }
   
} /* namespace generate */ } /* namespace generate */
......
...@@ -17,9 +17,8 @@ namespace generate { ...@@ -17,9 +17,8 @@ namespace generate {
   
class RandomStringFactory { class RandomStringFactory {
public: public:
static string::LinearString generateLinearString( size_t size, size_t alphabetSize, bool randomizedAlphabet ); static string::LinearString generateLinearString ( size_t size, size_t alphabetSize, bool randomizedAlphabet );
static string::LinearString generateLinearString( size_t size, std::set<alphabet::Symbol> alphabet); static string::LinearString generateLinearString ( size_t size, std::set < alphabet::Symbol > alphabet );
}; };
   
} /* namespace generate */ } /* namespace generate */
......
...@@ -17,17 +17,19 @@ namespace string { ...@@ -17,17 +17,19 @@ namespace string {
   
namespace generate { namespace generate {
   
string::LinearString RandomSubstringFactory::generateSubstring( size_t size, const string::LinearString & string) { string::LinearString RandomSubstringFactory::generateSubstring ( size_t size, const string::LinearString & string ) {
if(size > string.getContent().size()) if ( size > string.getContent ( ).size ( ) )
throw exception::AlibException("String not long enough"); throw exception::AlibException ( "String not long enough" );
   
srand( time( NULL ) ); srand ( time ( NULL ) );
   
size_t begin = std::random_devices::semirandom() % (string.getContent().size() - size + 1); size_t begin = std::random_devices::semirandom ( ) % ( string.getContent ( ).size ( ) - size + 1 );
   
std::vector<alphabet::Symbol> data(string.getContent().begin() + begin, string.getContent().begin() + begin + size); std::vector < alphabet::Symbol > data ( string.getContent ( ).begin ( ) + begin, string.getContent ( ).begin ( ) + begin + size );
   
return LinearString {string.getAlphabet(), data}; return LinearString {
string.getAlphabet ( ), data
};
} }
   
auto RandomSubstringFactoryLinearString = RandomSubstringFactory::RegistratorWrapper < string::LinearString, string::LinearString > ( RandomSubstringFactory::getInstance ( ), RandomSubstringFactory::generateSubstring ); auto RandomSubstringFactoryLinearString = RandomSubstringFactory::RegistratorWrapper < string::LinearString, string::LinearString > ( RandomSubstringFactory::getInstance ( ), RandomSubstringFactory::generateSubstring );
......
...@@ -18,12 +18,14 @@ namespace generate { ...@@ -18,12 +18,14 @@ namespace generate {
   
class RandomSubstringFactory : public std::SingleDispatchFirstStaticParam < string::LinearString, size_t, string::StringBase > { class RandomSubstringFactory : public std::SingleDispatchFirstStaticParam < string::LinearString, size_t, string::StringBase > {
public: public:
static string::LinearString generateSubstring( size_t size, const string::LinearString & ); static string::LinearString generateSubstring ( size_t size, const string::LinearString & );
   
static RandomSubstringFactory& getInstance() { static RandomSubstringFactory & getInstance ( ) {
static RandomSubstringFactory res; static RandomSubstringFactory res;
return res; return res;
} }
}; };
   
} /* namespace generate */ } /* namespace generate */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment