49 _m_random_seed=random_seed;
50 _m_rewards = vector<double>(nrRuns, 0.0);
63 _m_rewards[_m_nr_stored-1]=r;
70 vector<double> rewards(_m_nr_stored);
72 for(
unsigned int i=0;i<_m_nr_stored;i++)
73 rewards[i]=_m_rewards[i];
82 for(
unsigned int i=0;i<_m_nr_stored;i++)
86 _m_avg_reward=sum/_m_nr_stored;
88 _m_avg_reward=DBL_MAX;
93 if(_m_nr_stored>_m_rewards.size())
94 cerr <<
"SimulationResult::Print error _m_nr_stored " << _m_nr_stored
95 <<
" > " <<
" _m_rewards.size() " << _m_rewards.size() << endl;
97 cout <<
"SimulationResult::Print horizon " << _m_horizon <<
" seed "
98 << _m_random_seed <<
" entries " << _m_nr_stored << endl;
99 cout <<
"SimulationResult::Print Rewards: ";
100 for(
unsigned int i=0;i<_m_nr_stored;i++)
101 cout << _m_rewards[i] <<
" ";
103 cout <<
"SimulationResult::Print Average reward " << _m_avg_reward << endl;
108 cout <<
"Average reward: " << _m_avg_reward <<
" ("
109 << _m_nr_stored <<
" samples)" << endl;
114 ofstream fp(filename.c_str());
118 ss <<
"SimulationResult::Save failed to open file " << filename << endl;
122 vector<double> rewards=GetRewards();
124 for(
unsigned i=0;i<rewards.size();i++)
125 fp << rewards[i] << endl;
130 const int bufsize=65536;
131 char buffer[bufsize];
135 ifstream fp(filename.c_str());
139 ss <<
"SimulationResult::Load: failed to "
140 <<
"open file " << filename;
146 while(!fp.getline(buffer,bufsize).eof())
148 istringstream is(buffer);
150 _m_rewards.push_back(r);
153 _m_nr_stored=_m_rewards.size();