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:
@@ -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;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user