Mercurial > hg > classical
view common/EditDistance.h @ 16:cb315ba61e03 classical-rdf
* Introduce a not very good typing matcher
author | Chris Cannam |
---|---|
date | Fri, 19 Feb 2010 17:40:17 +0000 |
parents | a1d67e136c30 |
children | 7d8a6167febb |
line wrap: on
line source
#ifndef _EDIT_DISTANCE_H_ #define _EDIT_DISTANCE_H_ #include <alloca.h> #include <QString> namespace ClassicalData { class EditDistance { public: enum TranspositionMode { NoTransposition, RestrictedTransposition }; EditDistance(TranspositionMode tm = RestrictedTransposition, int editPenalty = 1, //!!! probably better to lose this int suffixPenalty = 1, //!!! probably better to lose this bool normalise = true) : m_transpositionMode(tm), m_editPenalty(editPenalty), m_suffixPenalty(suffixPenalty), m_normalise(normalise) { } int calculate(QString a, QString b, int threshold = 0); private: TranspositionMode m_transpositionMode; int m_editPenalty; int m_suffixPenalty; bool m_normalise; }; } #endif