29 #ifndef GUM_APPROXIMATION_POLICY_H 30 #define GUM_APPROXIMATION_POLICY_H 31 #include <agrum/agrum.h> 47 template <
typename GUM_SCALAR >
77 virtual GUM_SCALAR
fromExact(
const GUM_SCALAR& value)
const = 0;
INLINE void emplace(Args &&... args)
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.
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.