11#include <string/LinearString.h>
15namespace simulations {
19 template <
class SymbolType>
22 template <
class SymbolType>
26template <
class SymbolType>
34 for(
unsigned int j = 0; j <= pattern.
getContent().size(); j++) {
39 for(
unsigned int j = 1; j<=pattern.
getContent().size(); j++) {
40 std::vector < unsigned int > values;
42 values.push_back ( table[j-1][
i-1] );
44 values.push_back ( table[j-1][
i-1] + 1 );
48 values.push_back ( table[j][
i-1] + 1 );
51 values.push_back ( table[j-1][
i] + 1 );
53 table[j][
i] = * std::min_element ( values.begin ( ), values.end ( ) );
60template <
class SymbolType>
68 for (
unsigned int i = 0;
i <= text.
getContent().size();
i++ ) {
69 if ( table[pattern.
getContent().size()][
i] <= errors ) {
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Linear string.
Definition: LinearString.h:57
const ext::vector< SymbolType > & getContent() const &
Definition: LinearString.h:238
Definition: LevenshteinDynamicProgramming.h:17
static ext::set< unsigned int > search(const string::LinearString< SymbolType > &text, const string::LinearString< SymbolType > &pattern, unsigned int errors)
Definition: LevenshteinDynamicProgramming.h:61
static ext::vector< ext::vector< unsigned int > > compute_table(const string::LinearString< SymbolType > &text, const string::LinearString< SymbolType > &pattern)
Definition: LevenshteinDynamicProgramming.h:27
int i
Definition: AllEpsilonClosure.h:118
for(const StateType &state :fsm.getStates()) renamingData.insert(std Rename::RenamedAutomaton< T > result(renamingData.at(fsm.getInitialState()))
Definition: Rename.h:253
Definition: ArithmeticCompression.h:18