Esempio n. 1
0
    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;
    }
Esempio n. 2
0
	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;
		}
	}