1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-06 04:02:54 +02:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Uwe L. Korn
d6b79e1cb1 Revert "Use QHash as the order is not important"
This reverts commit 9898d6987c.
2015-06-11 20:12:11 +02:00
Uwe L. Korn
9898d6987c Use QHash as the order is not important
This decreases the runtime of decQidState by 10%.
2015-06-11 20:07:29 +02:00
Uwe L. Korn
3662214f68 Use levenshteinStatic in Query::howSimilar 2015-06-09 23:02:28 +02:00

View File

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