1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-12 00:54:20 +02:00

Use levenshteinStatic in Query::howSimilar

This commit is contained in:
Uwe L. Korn
2015-06-09 23:02:28 +02:00
parent 2a3ca62286
commit 3662214f68

View File

@@ -34,6 +34,8 @@
#include <QtAlgorithms> #include <QtAlgorithms>
#include <QDebug> #include <QDebug>
#include <libfuzzymatch/levenshtein.h>
using namespace Tomahawk; using namespace Tomahawk;
@@ -637,8 +639,8 @@ Query::howSimilar( const Tomahawk::result_ptr& r )
} }
// normal edit distance // normal edit distance
const int artdist = TomahawkUtils::levenshtein( qArtistname, rArtistname ); const int artdist = levenshteinStatic( qArtistname.toUcs4(), rArtistname.toUcs4() );
const int trkdist = TomahawkUtils::levenshtein( qTrackname, rTrackname ); const int trkdist = levenshteinStatic( qTrackname.toUcs4(), rTrackname.toUcs4() );
// max length of name // max length of name
const int mlart = qMax( qArtistname.length(), rArtistname.length() ); const int mlart = qMax( qArtistname.length(), rArtistname.length() );
@@ -652,7 +654,7 @@ Query::howSimilar( const Tomahawk::result_ptr& r )
float dcalb = 1.0; float dcalb = 1.0;
if ( !qAlbumname.isEmpty() ) if ( !qAlbumname.isEmpty() )
{ {
const int albdist = TomahawkUtils::levenshtein( qAlbumname, rAlbumname ); const int albdist = levenshteinStatic( qAlbumname.toUcs4(), rAlbumname.toUcs4() );
const int mlalb = qMax( qAlbumname.length(), rAlbumname.length() ); const int mlalb = qMax( qAlbumname.length(), rAlbumname.length() );
dcalb = (float)( mlalb - albdist ) / mlalb; dcalb = (float)( mlalb - albdist ) / mlalb;
} }
@@ -662,7 +664,7 @@ Query::howSimilar( const Tomahawk::result_ptr& r )
const QString artistTrackname = DatabaseImpl::sortname( fullTextQuery() ); const QString artistTrackname = DatabaseImpl::sortname( fullTextQuery() );
const QString rArtistTrackname = DatabaseImpl::sortname( r->track()->artist() + " " + r->track()->track() ); const QString rArtistTrackname = DatabaseImpl::sortname( r->track()->artist() + " " + r->track()->track() );
const int atrdist = TomahawkUtils::levenshtein( artistTrackname, rArtistTrackname ); const int atrdist = levenshteinStatic( artistTrackname.toUcs4(), rArtistTrackname.toUcs4() );
const int mlatr = qMax( artistTrackname.length(), rArtistTrackname.length() ); const int mlatr = qMax( artistTrackname.length(), rArtistTrackname.length() );
const float dcatr = (float)( mlatr - atrdist ) / mlatr; const float dcatr = (float)( mlatr - atrdist ) / mlatr;