Chris@11: Chris@11: #ifndef _EDIT_DISTANCE_H_ Chris@11: #define _EDIT_DISTANCE_H_ Chris@11: Chris@11: #include Chris@11: Chris@11: #include Chris@11: Chris@11: namespace ClassicalData { Chris@11: Chris@11: class EditDistance Chris@11: { Chris@11: public: Chris@11: enum TranspositionMode { Chris@11: NoTransposition, Chris@11: RestrictedTransposition Chris@11: }; Chris@11: Chris@11: EditDistance(TranspositionMode tm = RestrictedTransposition, Chris@11: int editPenalty = 1, Chris@11: int suffixPenalty = 1, Chris@11: bool normalise = true) : Chris@11: m_transpositionMode(tm), Chris@11: m_editPenalty(editPenalty), Chris@11: m_suffixPenalty(suffixPenalty), Chris@11: m_normalise(normalise) { } Chris@11: Chris@11: int calculate(QString a, QString b); Chris@11: Chris@11: private: Chris@11: TranspositionMode m_transpositionMode; Chris@11: int m_editPenalty; Chris@11: int m_suffixPenalty; Chris@11: bool m_normalise; Chris@11: }; Chris@11: Chris@11: } Chris@11: Chris@11: #endif Chris@11: Chris@11: