Files
comaps/search/idf_map.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

26 lines
585 B
C++

#include "search/idf_map.hpp"
#include "base/assert.hpp"
namespace search
{
IdfMap::IdfMap(Delegate const & delegate, double unknownIdf)
: m_delegate(delegate), m_unknownIdf(unknownIdf)
{
ASSERT_GREATER(m_unknownIdf, 0.0, ());
}
double IdfMap::GetImpl(Map & idfs, strings::UniString const & s, bool isPrefix)
{
auto const it = idfs.find(s);
if (it != idfs.cend())
return it->second;
auto const df = static_cast<double>(m_delegate.GetNumDocs(s, isPrefix));
auto const idf = df == 0 ? m_unknownIdf : 1.0 / df;
idfs[s] = idf;
return idf;
}
} // namespace search