MPI Distrib exp: the parameters of an experiment are recalled in the results file.
This commit is contained in:
parent
c48b3979c3
commit
371946f1f1
1 changed files with 39 additions and 0 deletions
|
|
@ -34,6 +34,7 @@
|
||||||
# include <iostream>
|
# include <iostream>
|
||||||
# include <iomanip>
|
# include <iomanip>
|
||||||
# include <string>
|
# include <string>
|
||||||
|
# include <sstream>
|
||||||
# include <vector>
|
# include <vector>
|
||||||
|
|
||||||
# include <eo>
|
# include <eo>
|
||||||
|
|
@ -115,6 +116,11 @@ class Distribution : public std::vector< type >, public eoserial::Persistent
|
||||||
*/
|
*/
|
||||||
bool isActive() { return _active; }
|
bool isActive() { return _active; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Prints the name and the parameters of the distribution
|
||||||
|
*/
|
||||||
|
virtual std::string toString() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
bool _active;
|
bool _active;
|
||||||
|
|
@ -169,6 +175,15 @@ class UniformDistribution : public Distribution
|
||||||
eoserial::unpack( *obj, "max", _max );
|
eoserial::unpack( *obj, "max", _max );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string toString() const
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "uniform" << '\n'
|
||||||
|
<< "min: " << _min << '\n'
|
||||||
|
<< "max: " << _max << '\n';
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
double _min;
|
double _min;
|
||||||
|
|
@ -221,6 +236,15 @@ class NormalDistribution : public Distribution
|
||||||
eoserial::unpack( *obj, "stddev", _stddev );
|
eoserial::unpack( *obj, "stddev", _stddev );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string toString() const
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "normal" << '\n'
|
||||||
|
<< "mean: " << _mean << '\n'
|
||||||
|
<< "stddev: " << _stddev << '\n';
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
double _mean;
|
double _mean;
|
||||||
|
|
@ -271,6 +295,14 @@ class ExponentialDistribution : public Distribution
|
||||||
eoserial::unpack( *obj, "mean", _mean );
|
eoserial::unpack( *obj, "mean", _mean );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string toString() const
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "exponential" << '\n'
|
||||||
|
<< "mean: " << _mean << '\n';
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
double _mean;
|
double _mean;
|
||||||
|
|
@ -384,6 +416,13 @@ class Experiment : public eoserial::Persistent
|
||||||
}
|
}
|
||||||
std::ostream& out = *pout;
|
std::ostream& out = *pout;
|
||||||
|
|
||||||
|
// Reminder of the parameters
|
||||||
|
out << "size: " << _size << '\n'
|
||||||
|
<< "packet_size: " << _packet_size << '\n'
|
||||||
|
<< "distribution: " << _distribution->toString()
|
||||||
|
<< "seed: " << _seed << '\n' << std::endl;
|
||||||
|
|
||||||
|
// Results
|
||||||
out << std::fixed << std::setprecision( 5 );
|
out << std::fixed << std::setprecision( 5 );
|
||||||
for( int i = 1, s = comm.size(); i < s; ++i )
|
for( int i = 1, s = comm.size(); i < s; ++i )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Reference in a new issue