本文整理汇总了C++中common::sfv_t::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ sfv_t::push_back方法的具体用法?C++ sfv_t::push_back怎么用?C++ sfv_t::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common::sfv_t
的用法示例。
在下文中一共展示了sfv_t::push_back方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scalar_mul_and_add
void scalar_mul_and_add(
const common::sfv_t& left,
float s,
common::sfv_t& right) {
common::sfv_t::const_iterator l = left.begin();
common::sfv_t::iterator r = right.begin();
while (l != left.end() && r != right.end()) {
if (l->first < r->first) {
std::pair<std::string, float> p = *l;
p.second *= s;
r = right.insert(r, p);
++l;
} else if (l->first > r->first) {
++r;
} else {
r->second += l->second * s;
++l;
++r;
}
}
for (; l != left.end(); ++l) {
std::pair<std::string, float> p = *l;
p.second *= s;
right.push_back(p);
}
}
示例2: add_feature
void add_feature(const std::string& key,
double value,
common::sfv_t& ret_fv) const {
ret_fv.push_back(std::make_pair(
key,
static_cast<float>(std::log(std::max(1.0, value)))));
}
示例3: complete_row
void recommender_base::complete_row(const common::sfv_t& query,
common::sfv_t& ret) const {
ret.clear();
vector<pair<string, float> > ids;
similar_row(query, ids, complete_row_similar_num_);
if (ids.size() == 0) {
return;
}
size_t exist_row_num = 0;
for (size_t i = 0; i < ids.size(); ++i) {
common::sfv_t row;
orig_.get_row(ids[i].first, row);
if (row.size() == 0) {
continue;
} else {
++exist_row_num;
}
float ratio = ids[i].second;
for (size_t j = 0; j < row.size(); ++j) {
ret.push_back(make_pair(row[j].first, row[j].second * ratio));
}
}
if (exist_row_num == 0) {
return;
}
common::sort_and_merge(ret);
for (size_t i = 0; i < ret.size(); ++i) {
ret[i].second /= exist_row_num;
}
}
示例4: rinsert
void eigen_feature_mapper::rinsert(
const pair<int, float>& item,
common::sfv_t& dst) const {
if (rmap_.find(item.first) != rmap_.end()) {
dst.push_back(
make_pair((rmap_.find(item.first))->second, item.second));
}
}