FactorOracle2MIDI::FactorOracle2MIDI< T > Class Template Reference

Public Member Functions

 FactorOracle2MIDI ()
 
void AddLetter (int i, std::vector< T > word)
 
int LengthCommonSuffix (int phi_one, int phi_two)
 
int FindBetter (int i, T alpha, std::vector< T > word)
 
std::vector< T > FOGenerate (int &i, std::vector< T > v, float q)
 
void FactorOracleStart (std::vector< T > word)
 
void AddState (int first_state)
 
void AddTransition (int first_state, int last_state, T symbol)
 
std::vector< T > CallGenerate (int len, float q)
 

Public Attributes

int phi
 
int k
 
int fo_iter
 
int current_state = 1
 
std::vector< T > input_values
 
std::vector< State< T > > states_
 
std::vector< std::vector< int > > RevSuffix
 

Constructor & Destructor Documentation

◆ FactorOracle2MIDI()

template<class T >
FactorOracle2MIDI::FactorOracle2MIDI< T >::FactorOracle2MIDI ( )
inline

< S[0] = -1

Member Function Documentation

◆ AddLetter()

template<class T >
void FactorOracle2MIDI::FactorOracle2MIDI< T >::AddLetter ( int  i,
std::vector< T >  word 
)
inline

A normal member taking two arguments and returning no value.

Parameters
ian integer argument.
worda template vector argument.

< k = S[i-1]

< phi_one = i-1

while k > -1 and delta(k,p[i]) is undefined do delta(k, p[i]) <- i phi_one = k k = S[k]

◆ FactorOracleStart()

template<class T >
void FactorOracle2MIDI::FactorOracle2MIDI< T >::FactorOracleStart ( std::vector< T >  word)
inline

A normal member taking one argument and returning no value.

Parameters
worda template argument.

< S[0] = -1

◆ FindBetter()

template<class T >
int FactorOracle2MIDI::FactorOracle2MIDI< T >::FindBetter ( int  i,
alpha,
std::vector< T >  word 
)
inline

A normal member taking three arguments and returning an integer value.

Parameters
ian integer argument.
alphaa template symbol argument.
worda template vector argument.
Returns
A better state

◆ FOGenerate()

template<class T >
std::vector<T> FactorOracle2MIDI::FactorOracle2MIDI< T >::FOGenerate ( int &  i,
std::vector< T >  v,
float  q 
)
inline

A normal member taking three arguments and returning a string value.

Parameters
ian integer argument.
va template vector argument.
qa float argument.
Returns
The factor oracle improvisation

Member Data Documentation

◆ RevSuffix

template<class T >
std::vector<std::vector<int> > FactorOracle2MIDI::FactorOracle2MIDI< T >::RevSuffix

std::vector where each position has all the suffix transitions directed to each state

◆ states_

template<class T >
std::vector<State<T> > FactorOracle2MIDI::FactorOracle2MIDI< T >::states_

std::vector of all the states


The documentation for this class was generated from the following file: