9#include <string/LinearString.h>
15namespace simulations {
19 template <
class SymbolType>
24template <
class SymbolType>
33 V_vector[pattern.
getContent().size() - 1] =
true;
39 for(
unsigned int i=0;
i<=errors;
i++) {
43 for(
unsigned int l = 0; l <= errors; l++) {
44 for(
unsigned int j = l; j <= pattern.
getContent().size(); j++) {
45 B_vectors[l][j] =
true;
51 for(
unsigned int j=1; j<=errors; j++) {
53 if ( ! b0 [ pattern.
getContent ( ).size ( ) - 1 ] ) {
63 B_vectors[0] = (B_vectors[0] << 1) | D_vectors[text.
getContent()[
i]];
65 for(
unsigned int j=1; j<=errors; j++) {
66 B_vectors[j] = ((previous_B_vectors[j] << 1) | D_vectors[text.
getContent()[
i]]) &
67 ( (previous_B_vectors[j-1] & B_vectors[j-1]) << 1) &
68 ( previous_B_vectors[j-1] | V_vector );
71 for (
const auto & data : B_vectors) {
72 if ( ! data [ pattern.
getContent ( ).size ( ) - 1 ] ) {
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
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::set< SymbolType > & getAlphabet() const &
Definition: LinearString.h:103
const ext::vector< SymbolType > & getContent() const &
Definition: LinearString.h:238
static ext::map< SymbolType, ext::vector< bool > > constructDVectors(const ext::set< SymbolType > &alphabet, const string::LinearString< SymbolType > &pattern)
Definition: BitParalelism.h:22
Definition: LevenshteinBitParalelism.h:17
static ext::set< unsigned int > search(const string::LinearString< SymbolType > &text, const string::LinearString< SymbolType > &pattern, unsigned int errors)
Definition: LevenshteinBitParalelism.h:25
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