aGrUM  0.16.0
approximationPolicy.h
Go to the documentation of this file.
1 
30 #ifndef GUM_APPROXIMATION_POLICY_H
31 #define GUM_APPROXIMATION_POLICY_H
32 #include <agrum/agrum.h>
33 
34 namespace gum {
35 
48  template < typename GUM_SCALAR >
50  public:
51  // ===========================================================================
53  // ===========================================================================
55 
60 
65 
67  // ===========================================================================
69  // ===========================================================================
71 
78  virtual GUM_SCALAR fromExact(const GUM_SCALAR& value) const = 0;
79 
84  virtual void combineAdd(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
85 
91  virtual void combineSub(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
92 
98  virtual void combineMult(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
99 
104  virtual void combineDiv(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
105 
110  virtual void combineMax(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
111 
116  virtual void combineMin(const ApproximationPolicy< GUM_SCALAR >* ap) = 0;
117 
119  };
120 } // namespace gum
121 
122 #endif /* GUM_APPROXIMATION_POLICY_H */
virtual void combineMin(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using min with the given gum::ApproximationPolicy.
virtual void combineAdd(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using addition with the given gum::ApproximationPolicy.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
ApproximationPolicy()
Default constructor.
virtual void combineMax(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using max with the given gum::ApproximationPolicy.
virtual GUM_SCALAR fromExact(const GUM_SCALAR &value) const =0
Convert value to his approximation.
virtual void combineMult(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using multiplication with the given gum::ApproximationPolicy.
virtual void combineDiv(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using division with the given gum::ApproximationPolicy.
ApproximationPolicy(const ApproximationPolicy< GUM_SCALAR > *md)
Copy constructor.
virtual void combineSub(const ApproximationPolicy< GUM_SCALAR > *ap)=0
Combine using substraction with the given gum::ApproximationPolicy.
Mother class for all approximation policy classes.