Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:48:24

0001 #ifndef DIFFERENCES_H
0002 #define DIFFERENCES_H
0003 
0004 /**
0005  * @file Differences.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 10 December 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <string>
0012 
0013 namespace NumA {
0014 
0015 
0016 /**
0017  * @class Differences
0018  *
0019  * @brief Class defining absolute and relative differences for comparison of real numbers (double).
0020  */
0021 class Differences {
0022 public:
0023     /**
0024      * Default constructor (differences equal to 0).
0025      */
0026     Differences();
0027     /**
0028      * Constructor.
0029      * @param absoluteDifference Absolute difference.
0030      * @param relativeDifference Relative difference.
0031      */
0032     Differences(const double absoluteDifference,
0033             const double relativeDifference);
0034     /**
0035      * Default destructor.
0036      */
0037     virtual ~Differences();
0038 
0039     /**
0040      *
0041      * @return Pre-formatted string with the differences.
0042      */
0043     std::string toString() const;
0044 
0045     /**
0046      *
0047      * @return Absolute difference.
0048      */
0049     double getAbsoluteDifference() const;
0050     /**
0051      *
0052      * @return Relative difference.
0053      */
0054     double getRelativeDifference() const;
0055 
0056     /**
0057      *
0058      * @param absoluteDifference Absolute difference.
0059      */
0060     void setAbsoluteDifference(double absoluteDifference);
0061     /**
0062      *
0063      * @param relativeDifference Relative difference.
0064      */
0065     void setRelativeDifference(double relativeDifference);
0066 
0067 private:
0068     double m_absoluteDifference; ///< Absolute difference.
0069     double m_relativeDifference; ///< Relative difference.
0070 };
0071 
0072 } // namespace NumA
0073 
0074 #endif /* DIFFERENCES_H */