本文整理汇总了C++中typenamevector::getScore方法的典型用法代码示例。如果您正苦于以下问题:C++ typenamevector::getScore方法的具体用法?C++ typenamevector::getScore怎么用?C++ typenamevector::getScore使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamevector
的用法示例。
在下文中一共展示了typenamevector::getScore方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switchScores_
void switchScores_(IDType& id, Size& counter)
{
for (typename vector<typename IDType::HitType>::iterator hit_it = id.getHits().begin();
hit_it != id.getHits().end(); ++hit_it, ++counter)
{
if (!hit_it->metaValueExists(new_score_))
{
String msg = "Meta value '" + new_score_ + "' not found for " +
describeHit_(*hit_it);
throw Exception::MissingInformation(__FILE__, __LINE__,
__PRETTY_FUNCTION__, msg);
}
String old_score_meta = (old_score_.empty() ? id.getScoreType() :
old_score_);
DataValue dv = hit_it->getMetaValue(old_score_meta);
if (!dv.isEmpty()) // meta value for old score already exists
{
if (fabs((double(dv) - hit_it->getScore()) * 2.0 /
(double(dv) + hit_it->getScore())) > tolerance_)
{
String msg = "Meta value '" + old_score_meta + "' already exists "
"with a conflicting value for " + describeHit_(*hit_it);
throw Exception::InvalidValue(__FILE__, __LINE__, __PRETTY_FUNCTION__,
msg, dv.toString());
} // else: values match, nothing to do
}
else
{
hit_it->setMetaValue(old_score_meta, hit_it->getScore());
}
hit_it->setScore(hit_it->getMetaValue(new_score_));
}
id.setScoreType(new_score_type_);
id.setHigherScoreBetter(higher_better_);
}