void local_storage_mixture::get_diff(features3_t& ret) const { ret.clear(); for (pfi::data::unordered_map<string, id_feature_val3_t>::const_iterator it = tbl_diff_.begin(); it != tbl_diff_.end(); ++it){ id_feature_val3_t::const_iterator it2 = it->second.begin(); feature_val3_t fv3; for (; it2 != it->second.end(); ++it2){ fv3.push_back(make_pair(class2id_.get_key(it2->first), it2->second)); } ret.push_back(make_pair(it->first, fv3)); } }
void local_storage_mixture::set_average_and_clear_diff(const features3_t& average){ for (features3_t::const_iterator it = average.begin(); it != average.end(); ++it){ const feature_val3_t& avg = it->second; id_feature_val3_t& orig = tbl_[it->first]; for (feature_val3_t::const_iterator it2 = avg.begin(); it2 != avg.end(); ++it2){ val3_t& triple = orig[class2id_.get_id(it2->first)]; // may create increase(triple, it2->second); } } tbl_diff_.clear(); }
void get_diff(features3_t& v) const { feature_val3_t c; c.push_back(make_pair(string("l1"), val3_t(1.0, 2.0, 3.0))); v.push_back(make_pair(string("f1"), c)); }