本文整理汇总了C++中Stats::average方法的典型用法代码示例。如果您正苦于以下问题:C++ Stats::average方法的具体用法?C++ Stats::average怎么用?C++ Stats::average使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Stats
的用法示例。
在下文中一共展示了Stats::average方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
Stats test;
Stats runners;
double value;
do
{
cout << "Enter a value to store: ";
cin >> value;
} while (test.storeValue(value));
cout << "Total: " << test.total() << endl;
cout << "Average: " << test.average() << endl;
cout << "The lowest value: " << test.lowest() << endl;
cout << "The highest value: " << test.highest() << endl;
cout << endl << endl;
// Second Requirement
getData(runners);
createReport(runners);
return 0;
}
示例2: createReport
void createReport(Stats runners)
{
cout << endl << "Tulsa Tigers Track Team" << endl << endl;
cout << "Average 100 yard-dash time: " << runners.average() << " seconds" << endl;
cout << "Slowest runner: " << runners.lowest() << " seconds" << endl;
cout << "Fastest runner: " << runners.highest() << " seconds" << endl;
}
示例3: studySentence
Stats WordsGenerator::studySentence(std::string p_str, unsigned p_iter, std::ostream& out) {
Stats results;
clock_t start, end;
std::vector<double> tirages;
out << "////////////////////////////////////////////////////////////////" << std::endl << std::endl;
out << "\tSTARTING OF STUDY OF:" << std::endl;
out << "\t\t" << p_str << std::endl << std::endl;
out << "////////////////////////////////////////////////////////////////" << std::endl;
out << "----------------------------------------------------------------" << std::endl;
time(&start); // temps de debut
for(unsigned i = 0 ; i < p_iter ; ++i) { // calcul des echantillons
out << "Round " << i+1 << ":" << std::endl;
tirages.push_back(this->expectWord(p_str.c_str(), out));
out << "----------------------------------------------------------------" << std::endl;
}
time(&end); // temps de fin
results.setAverage(tirages);
results.setVariance(tirages, results.average());
results.setRadius(results.variance(),tirages.size());
results.setTime(difftime(end,start));
out << "////////////////////////////////////////////////////////////////" << std::endl;
out << "\tRESULTS:" << std::endl;
out << "\t +\tFrequency:\t" << 1.0/(unsigned long long)results.average() << std::endl;
out << "\t +\tAverage:\t" << (unsigned long long)results.average() << std::endl;
out << "\t +\tDrawings:\t" << (unsigned long long)results.total() << std::endl;
out << "\t +\tStd deviation:\t" << (unsigned long long)sqrt((unsigned long long)results.variance()) << std::endl;
out << "\t +\tConfidence int:\t[ " << (unsigned long long)std::max(0.,(results.average()-results.radius())) << " ; " << (unsigned long long)(results.average()+results.radius()) << " ]" << std::endl;
out << "\t +\tExecution time:\t" << results.time() << " s" << std::endl;
out << "\t +\tUnit exe. time:\t" << results.time()/(double)tirages.size() << " s" << std::endl;
out << "////////////////////////////////////////////////////////////////" << std::endl;
return results;
}
示例4: finished
void IonStatsListener::finished() {
if (has_finished_)
return;
std::string statsFileEnding = "_stats.csv";
std::string posFileEnding = "_pos.csv";
double vel_scale = trap_params_.length_scale/trap_params_.time_scale;
double x, y, z, rotated_x, rotated_y;
double sqrt2 = 1.414213562;
DataWriter writer(",");
typedef Ion_ptr_vector::const_iterator ion_itr;
std::list<double> rowdata;
std::string name;
// Write the header for each file
std::string statsHeader="avg(r), var(r), avg(z), var(z), avg(KE), var(KE)";
std::string posHeader="x, y, z, vx, vy, vz";
for (auto& type : cloud_params_.ion_type_list) {
name = base_path_ + type.name + statsFileEnding;
writer.writeComment(name, statsHeader);
name = base_path_ + type.name + posFileEnding;
writer.writeComment(name, posHeader);
}
for (auto ion : ions_->get_ions()) {
// Write the final position and velocity for each ion.
name = base_path_ + ion->name() + posFileEnding;
rowdata.clear();
// Scale reduced units to real-world units and rotate to align to
// axes between rods (calculation has axes crossing rods.)
x = (ion->get_pos())[0] * trap_params_.length_scale;
y = (ion->get_pos())[1] * trap_params_.length_scale;
z = (ion->get_pos())[2] * trap_params_.length_scale;
rotated_x = (x+y)/sqrt2;
rotated_y = (x-y)/sqrt2;
rowdata.push_back(rotated_x);
rowdata.push_back(rotated_y);
rowdata.push_back(z);
x = (ion->get_vel())[0] * vel_scale;
y = (ion->get_vel())[1] * vel_scale;
z = (ion->get_vel())[2] * vel_scale;
rotated_x = (x+y)/sqrt2;
rotated_y = (x-y)/sqrt2;
rowdata.push_back(rotated_x);
rowdata.push_back(rotated_y);
rowdata.push_back(z);
writer.writeRow(name, rowdata);
// Write the average data for each ion.
name = base_path_ + ion->name() + statsFileEnding;
rowdata.clear();
Stats<double> vel = (ion->get_velStats());
Stats<Vector3D> pos = (ion->get_posStats());
double mon2 = (ion->get_mass())/2;
double avg_energy = (vel.average() * vel.average()) * (mon2 * trap_params_.energy_scale);
double var_energy = (vel.variance()/vel.average()) * (avg_energy * 1.41);
Vector3D avg_pos = pos.average() * trap_params_.length_scale;
Vector3D var_pos = pos.variance() * trap_params_.length_scale;
rowdata.push_back(avg_pos[0]);
rowdata.push_back(var_pos[0]);
rowdata.push_back(avg_pos[1]);
rowdata.push_back(var_pos[1]);
rowdata.push_back(avg_energy);
rowdata.push_back(var_energy);
writer.writeRow(name, rowdata);
}
has_finished_ = true;
log_.debug("Finished IonStatsListener.");
}