void CategoryTreatmentPlan<K>::add(K category, float new_value) { // update mean and std dev for overall sample online_update(new_value, _count, _mean, _m2_stdev); // and for the group double cat_mean = 0; unsigned long cat_count = 0; double cat_m2_stdev = 0; // have we seen this category before? auto cat_mean_iter = _group_means.find(category); if (cat_mean_iter != _group_means.end()) { cat_mean = cat_mean_iter->second; cat_count = _group_counts.find(category)->second; cat_m2_stdev = _group_m2_stdev.find(category)->second; } online_update(new_value, cat_count, cat_mean, cat_m2_stdev); // update internal structures _group_means[category] = cat_mean; _group_counts[category] = cat_count; _group_m2_stdev[category] = cat_m2_stdev; }
void controll_main() { Pplayer->Preticle->controll(); if(GetNowCount() - Csystem::start_time > 800) { Pplayer->controll(); } Pplayer->Pright_arm->right_controll(); Pplayer->Pleft_arm->left_controll(); switch (Csystem::game_mode) { case Csystem::SOLO: Pboss->controll(); break; case Csystem::ONLINE: online_update(); Penemy->controll(); break; } for(int i = 0;i < 4;i++) { for(int k = 0;k < AMMO_MAX;k++) { Pplayer->Pleft_shot[i][k]->controll(); Pplayer->Pright_shot[i][k]->controll(); Pplayer->Pleft_shot[i][k]->hit_check(0); Pplayer->Pright_shot[i][k]->hit_check(0); } } for(int k = 0;k < AMMO_MAX;k++) { switch (Pboss->Pshot[k]->shot_pattern) { case Cshot::STRAIGHT: case Cshot::CORN: Pboss->Pshot[k]->controll(); break; case Cshot::MANUS: Pboss->Pshot[k]->manus_controll(); break; case Cshot::SPIRAL: Pboss->Pshot[k]->spiral_controll(); break; case Cshot::CIRCLE: Pboss->Pshot[k]->circle_controll(); break; case Cshot::SHOTGUN: Pboss->Pshot[k]->controll(); break; } Pboss->Pshot[k]->hit_check(1); } if(Cshot::right_shot_count > 0) Cshot::right_shot_count--; if(Cshot::left_shot_count > 0) Cshot::left_shot_count--; Pcamera->controll(); if(GetNowCount() - Csystem::start_time > 90000) { del_pointer(); game_stage = Csystem::GAME_RESULT; } }