Skip to content

Commit

Permalink
Refactor and fix weird bug.
Browse files Browse the repository at this point in the history
  • Loading branch information
brianhou committed Jul 17, 2018
1 parent 3f36bf1 commit 84a0041
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions src/distance/ConfigurationRanker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,18 @@ ConfigurationRanker::ConfigurationRanker(
void ConfigurationRanker::rankConfigurations(
std::vector<MetaSkeletonStateSpace::ScopedState>& configurations)
{
std::vector<std::pair<double, MetaSkeletonStateSpace::ScopedState>>
evaluatedConfigurations;
std::unordered_map<const MetaSkeletonStateSpace::State*, double> costs;
costs.reserve(configurations.size());
for (std::size_t i = 0; i < configurations.size(); ++i)
{
evaluatedConfigurations.emplace_back(
std::make_pair(
evaluateConfiguration(configurations[i]),
std::move(configurations[i])));
}
std::sort(evaluatedConfigurations.begin(), evaluatedConfigurations.end());

configurations.clear();
for (std::size_t i = 0; i < evaluatedConfigurations.size(); ++i)
{
configurations.emplace_back(std::move(evaluatedConfigurations[i].second));
}
costs[configurations[i]] = evaluateConfiguration(configurations[i]);

std::sort(
configurations.begin(),
configurations.end(),
[&](const MetaSkeletonStateSpace::ScopedState& left,
const MetaSkeletonStateSpace::ScopedState& right) {
return costs[left] < costs[right];
});
}

} // namespace distance
Expand Down

0 comments on commit 84a0041

Please sign in to comment.