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

tidy: remove not needed signed -> unsigned conversion

parent 29a76993
No related branches found
No related tags found
1 merge request!219Merge jt
...@@ -32,18 +32,22 @@ template < class SymbolType > ...@@ -32,18 +32,22 @@ template < class SymbolType >
string::CyclicString < SymbolType > NormalizeRotation::normalize(const string::CyclicString < SymbolType > & string) { string::CyclicString < SymbolType > NormalizeRotation::normalize(const string::CyclicString < SymbolType > & string) {
const ext::vector < SymbolType > & data = string.getContent ( ); const ext::vector < SymbolType > & data = string.getContent ( );
int * f = new int [ 2 * data.size ( ) ]; /** Knuth–Morris–Pratt like array */ int * f = new int [ 2 * data.size ( ) ]; /** Knuth–Morris–Pratt like array */
int k = 0; /** Least circular string shift value */ size_t k = 0; /** Least circular string shift value */
f [ 0 ] = -1; f [ 0 ] = -1;
for ( size_t j = 1; j < 2 * data.size ( ); ++j ) { for ( size_t j = 1; j < 2 * data.size ( ); ++j ) {
int i = f [ j - k - 1 ]; int i = f [ j - k - 1 ];
while ( i != -1 && data [ j % data.size ( ) ] != data [ ( k + i + 1 ) % data.size ( ) ] ) { while ( i != -1 && data [ j % data.size ( ) ] != data [ ( k + i + 1 ) % data.size ( ) ] ) {
if ( data [ j % data.size ( ) ] < data [ ( k + i + 1 ) % data.size ( ) ] ) k = j - i - 1; if ( data [ j % data.size ( ) ] < data [ ( k + i + 1 ) % data.size ( ) ] )
k = j - i - 1;
i = f [ i ]; i = f [ i ];
} }
if ( i == -1 && data [ j % data.size ( ) ] != data [ k % data.size ( ) ] ) { if ( i == -1 && data [ j % data.size ( ) ] != data [ k % data.size ( ) ] ) {
if ( data [ j % data.size ( ) ] < data [ ( k + i + 1 ) % data.size ( ) ] ) k = j; if ( data [ j % data.size ( ) ] < data [ ( k + i + 1 ) % data.size ( ) ] )
k = j;
f [ j - k ] = -1; f [ j - k ] = -1;
} else f [ j - k ] = i + 1; } else {
f [ j - k ] = i + 1;
}
} }
delete [] f; delete [] f;
   
......
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