mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 13:03:36 +00:00
Also see https://clang.llvm.org/extra/clang-tidy/checks/bugprone/incorrect-roundings.html Signed-off-by: Alexander Borsuk <me@alex.bio>
20 lines
330 B
C++
20 lines
330 B
C++
#include "indexer/feature_impl.hpp"
|
|
|
|
#include <algorithm>
|
|
#include <cmath>
|
|
|
|
namespace feature
|
|
{
|
|
|
|
uint8_t PopulationToRank(uint64_t p)
|
|
{
|
|
return std::min(0xFFl, std::lround(std::log(double(p)) / std::log(1.1)));
|
|
}
|
|
|
|
uint64_t RankToPopulation(uint8_t r)
|
|
{
|
|
return static_cast<uint64_t>(std::pow(1.1, r));
|
|
}
|
|
|
|
} // namespace feature
|