Mercurial > hg > classical
annotate common/EditDistance.h @ 12:dc55b0940f15 classical-rdf
...
author | Chris Cannam |
---|---|
date | Thu, 18 Feb 2010 18:22:07 +0000 |
parents | 98047b91b09d |
children | a1d67e136c30 |
rev | line source |
---|---|
Chris@11 | 1 |
Chris@11 | 2 #ifndef _EDIT_DISTANCE_H_ |
Chris@11 | 3 #define _EDIT_DISTANCE_H_ |
Chris@11 | 4 |
Chris@11 | 5 #include <alloca.h> |
Chris@11 | 6 |
Chris@11 | 7 #include <QString> |
Chris@11 | 8 |
Chris@11 | 9 namespace ClassicalData { |
Chris@11 | 10 |
Chris@11 | 11 class EditDistance |
Chris@11 | 12 { |
Chris@11 | 13 public: |
Chris@11 | 14 enum TranspositionMode { |
Chris@11 | 15 NoTransposition, |
Chris@11 | 16 RestrictedTransposition |
Chris@11 | 17 }; |
Chris@11 | 18 |
Chris@11 | 19 EditDistance(TranspositionMode tm = RestrictedTransposition, |
Chris@11 | 20 int editPenalty = 1, |
Chris@11 | 21 int suffixPenalty = 1, |
Chris@11 | 22 bool normalise = true) : |
Chris@11 | 23 m_transpositionMode(tm), |
Chris@11 | 24 m_editPenalty(editPenalty), |
Chris@11 | 25 m_suffixPenalty(suffixPenalty), |
Chris@11 | 26 m_normalise(normalise) { } |
Chris@11 | 27 |
Chris@11 | 28 int calculate(QString a, QString b); |
Chris@11 | 29 |
Chris@11 | 30 private: |
Chris@11 | 31 TranspositionMode m_transpositionMode; |
Chris@11 | 32 int m_editPenalty; |
Chris@11 | 33 int m_suffixPenalty; |
Chris@11 | 34 bool m_normalise; |
Chris@11 | 35 }; |
Chris@11 | 36 |
Chris@11 | 37 } |
Chris@11 | 38 |
Chris@11 | 39 #endif |
Chris@11 | 40 |
Chris@11 | 41 |