tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
statistics.hpp
Go to the documentation of this file.
1//
2// Copyright (c) 2017 CNRS
3//
4
5#ifndef __invdyn_statistics_H__
6#define __invdyn_statistics_H__
7
8#include <iostream>
9#include <map>
10#include <sstream>
11
12#define STATISTICS_MAX_NAME_LENGTH 60
13
14// Generic statistics exception class
16 public:
18 std::string error;
19};
20
53class Statistics {
54 public:
57
60
62 bool quantity_exists(std::string name);
63
65 void store(std::string name, const double& value);
66
68 void reset(std::string name);
69
71 void reset_all();
72
74 void report(std::string name, int precision = 2,
75 std::ostream& output = std::cout);
76
78 void report_all(int precision = 2, std::ostream& output = std::cout);
79
81 long double get_total(std::string name);
82
84 long double get_average(std::string name);
85
87 long double get_min(std::string name);
88
90 long double get_max(std::string name);
91
93 long double get_last(std::string name);
94
97 void turn_off();
98
100 void turn_on();
101
102 protected:
104 struct QuantityData {
105 QuantityData() : total(0), min(0), max(0), last(0), stops(0) {}
106
108 long double total;
109
111 long double min;
112
114 long double max;
115
117 long double last;
118
120 int stops;
121 };
122
124 bool active;
125
128 std::map<std::string, QuantityData>* records_of;
129};
130
132
133#endif
A class to compute statistics about quantities of interest.
Definition statistics.hpp:53
long double get_min(std::string name)
Definition statistics.cpp:144
std::map< std::string, QuantityData > * records_of
Definition statistics.hpp:128
long double get_max(std::string name)
Definition statistics.cpp:154
bool active
Definition statistics.hpp:124
long double get_total(std::string name)
Definition statistics.cpp:124
bool quantity_exists(std::string name)
Definition statistics.cpp:23
void store(std::string name, const double &value)
Definition statistics.cpp:27
Statistics()
Definition statistics.cpp:17
void report_all(int precision=2, std::ostream &output=std::cout)
Definition statistics.cpp:58
void turn_on()
Definition statistics.cpp:85
long double get_last(std::string name)
Definition statistics.cpp:164
void reset_all()
Definition statistics.cpp:48
void turn_off()
Definition statistics.cpp:90
~Statistics()
Definition statistics.cpp:21
void reset(std::string name)
Definition statistics.cpp:69
void report(std::string name, int precision=2, std::ostream &output=std::cout)
Definition statistics.cpp:95
long double get_average(std::string name)
Definition statistics.cpp:134
Statistics & getStatistics()
Definition statistics.cpp:12
StatisticsException(std::string error)
Definition statistics.hpp:17
std::string error
Definition statistics.hpp:18
int stops
Definition statistics.hpp:120
long double max
Definition statistics.hpp:114
long double min
Definition statistics.hpp:111
long double last
Definition statistics.hpp:117
long double total
Definition statistics.hpp:108
QuantityData()
Definition statistics.hpp:105