Mercurial > dedupe
view CachedEditDistance.cpp @ 115:404795616b1e default tip
Added a lot of common files to ignore
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Sat, 25 Mar 2017 17:43:57 +0100 |
| parents | 9744ec195be3 |
| children |
line wrap: on
line source
#include "CachedEditDistance.hpp" #include "CompileTimeConstants.h" #include "ConfigurationProcessing.hpp" CachedEditDistance::cacheType* CachedEditDistance::cache = 0; //CachedEditDistance::cacheType CachedEditDistance::cache; int CachedEditDistance::Compute(QString a, QString b, bool remove) { if (remove) { removeDiacriticsNoCopy(a); removeDiacriticsNoCopy(b); } if ( a == b) return 0; OrderedPair<UniqueString> lup(a, b); if (cache == 0) { QString cacheLocation = processSetupVariables(EDITDISTANCE_CACHE_LOCATION); CachedEditDistance::cache = new cacheType(cacheLocation, "EditLUT"); } boost::optional<int> res = cache->value(lup); if (res) return *res; int retVal = EditDistance::Compute(a, b, false); cache->insert(lup, retVal); return retVal; }
