tsid
1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
|
A class to compute statistics about quantities of interest. More...
#include <tsid/utils/statistics.hpp>
Classes | |
struct | QuantityData |
Public Member Functions | |
Statistics () | |
~Statistics () | |
bool | quantity_exists (std::string name) |
void | store (std::string name, const double &value) |
void | reset (std::string name) |
void | reset_all () |
void | report (std::string name, int precision=2, std::ostream &output=std::cout) |
void | report_all (int precision=2, std::ostream &output=std::cout) |
long double | get_total (std::string name) |
long double | get_average (std::string name) |
long double | get_min (std::string name) |
long double | get_max (std::string name) |
long double | get_last (std::string name) |
void | turn_off () |
void | turn_on () |
Protected Attributes | |
bool | active |
std::map< std::string, QuantityData > * | records_of |
A class to compute statistics about quantities of interest.
The Statistics class can be used to keep track of the minimum, maximum, average of quantities of interest.
To report the results just call:
Thou can also provide an additional std::ostream& parameter to report() to redirect the logging on a different output. Also, you can use the get_total/min/max/average() methods to get the individual numeric data, without all the details of the logging. You can also extend Statistics to implement your own logging syntax.
To report all the measurements:
Same as above, you can redirect the output by providing a std::ostream& parameter.
Statistics::Statistics | ( | ) |
Constructor
Statistics::~Statistics | ( | ) |
Destructor
long double Statistics::get_average | ( | std::string | name | ) |
Returns average execution of a certain quantity
long double Statistics::get_last | ( | std::string | name | ) |
Return last measurement of a certain quantity
long double Statistics::get_max | ( | std::string | name | ) |
Returns maximum execution of a certain quantity
long double Statistics::get_min | ( | std::string | name | ) |
Returns minimum execution of a certain quantity
long double Statistics::get_total | ( | std::string | name | ) |
Returns total execution of a certain quantity
bool Statistics::quantity_exists | ( | std::string | name | ) |
Tells if a quantity with a certain name exists
void Statistics::report | ( | std::string | name, |
int | precision = 2 , |
||
std::ostream & | output = std::cout |
||
) |
Dump the data of a certain quantity record
void Statistics::report_all | ( | int | precision = 2 , |
std::ostream & | output = std::cout |
||
) |
Dump the data of all the quantity records
void Statistics::reset | ( | std::string | name | ) |
Reset a certain quantity record
void Statistics::reset_all | ( | ) |
Resets all the quantity records
void Statistics::store | ( | std::string | name, |
const double & | value | ||
) |
Record the value of the specified quantity
void Statistics::turn_off | ( | ) |
Turn off statistics, all the Statistics::* methods return without doing anything after this method is called.
void Statistics::turn_on | ( | ) |
Turn on statistics, restore operativity after a turn_off().
|
protected |
Flag to hold the statistics status
|
protected |
Pointer to the dynamic structure which holds the collection of quantity data