10#include <string/LinearString.h>
20 template <
class SymbolType >
24template <
class SymbolType >
31 for (
unsigned int j = 0; j < k + 1; j ++ ) {
32 for (
unsigned int i = j ;
i < pattern.
getContent ( ).size ( ) + 1 ;
i++ ) {
40 for (
unsigned int j = 0 ; j < k + 1 ; j ++ ) {
41 for (
unsigned int i = j;
i < pattern.
getContent ( ).size ( );
i ++ ) {
48 for (
unsigned int j = 0 ; j < k ; j ++ ) {
49 for (
unsigned int i = j ;
i < pattern.
getContent ( ).size ( );
i ++ ) {
55 result.addTransition ( from, symbol, to );
62 for (
unsigned int j = 1 ; j <= pattern.
getContent ( ).size ( ); j ++ ) {
65 result.addTransition ( from, to );
Epsilon nondeterministic finite automaton. Accepts regular languages.
Definition: EpsilonNFA.h:74
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
Definition: NondeterministicApproximateSuffixEpsilonAutomatonForHammingDistance.h:14
static automaton::EpsilonNFA< SymbolType, ext::pair< unsigned int, unsigned int > > construct(const string::LinearString< SymbolType > &pattern, unsigned int k)
Definition: NondeterministicApproximateSuffixEpsilonAutomatonForHammingDistance.h:25
int i
Definition: AllEpsilonClosure.h:118
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
for(const StateType &state :fsm.getStates()) renamingData.insert(std Rename::RenamedAutomaton< T > result(renamingData.at(fsm.getInitialState()))
Definition: Rename.h:253
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79
Definition: BitParallelIndexConstruction.h:14