FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
RuntimeMeasurement.hpp
Go to the documentation of this file.
1 #ifndef TIMING_HPP_
2 #define TIMING_HPP_
3 
4 #include <string>
5 #include <memory>
6 #include "FAST/Object.hpp"
7 
8 namespace fast {
12 class FAST_EXPORT RuntimeMeasurement : public Object {
13 public:
14  typedef std::shared_ptr<RuntimeMeasurement> pointer;
15  RuntimeMeasurement(std::string name);
16  void addSample(double runtime);
17  double getSum() const;
18  double getAverage() const;
19  unsigned int getSamples() const;
20  double getMax() const;
21  double getMin() const;
22  double getStdDeviation() const;
23  std::string print() const;
24  virtual ~RuntimeMeasurement() {};
25 
26 private:
28 
29  double mSum;
30  unsigned int mSamples;
31  double mRunningVariance;
32  double mRunningMean;
33  double mMin;
34  double mMax;
35  std::string mName;
36 };
37 
38 }; // end namespace
39 
40 #endif /* TIMING_HPP_ */
Object.hpp
fast
Definition: AffineTransformation.hpp:7
fast::RuntimeMeasurement::~RuntimeMeasurement
virtual ~RuntimeMeasurement()
Definition: RuntimeMeasurement.hpp:24
fast::RuntimeMeasurement
Definition: RuntimeMeasurement.hpp:12
fast::Object
Definition: Object.hpp:34
fast::RuntimeMeasurement::pointer
std::shared_ptr< RuntimeMeasurement > pointer
Definition: RuntimeMeasurement.hpp:14