31 #ifndef GUM_APPROXIMATION_SCHEME_CONFIGURATION_H 32 #define GUM_APPROXIMATION_SCHEME_CONFIGURATION_H 34 #include <agrum/agrum.h> 35 #include <agrum/tools/core/math/math_utils.h> 36 #include <agrum/tools/core/signal/signaler.h> 37 #include <agrum/tools/core/timer.h> 116 virtual double epsilon()
const = 0;
219 virtual double maxTime()
const = 0;
294 #ifndef GUM_NO_INLINE 295 # include <agrum/tools/core/approximations/IApproximationSchemeConfiguration_inl.h> virtual double epsilon() const =0
Returns the value of epsilon.
virtual void setMaxTime(double timeout)=0
Stopping criterion on timeout.
virtual bool isEnabledMaxTime() const =0
Returns true if stopping criterion on timeout is enabled, false otherwise.
Signaler3< Size, double, double > onProgress
Progression, error and time.
virtual void disableMaxTime()=0
Disable stopping criterion on timeout.
virtual void enableEpsilon()=0
Enable stopping criterion on epsilon.
INLINE void emplace(Args &&... args)
virtual bool isEnabledEpsilon() const =0
Returns true if stopping criterion on epsilon is enabled, false otherwise.
virtual bool isEnabledMinEpsilonRate() const =0
Returns true if stopping criterion on epsilon rate is enabled, false otherwise.
virtual ApproximationSchemeSTATE stateApproximationScheme() const =0
Returns the approximation scheme state.
virtual Size nbrIterations() const =0
Returns the number of iterations.
virtual Size periodSize() const =0
Returns the period size.
virtual void disableMinEpsilonRate()=0
Disable stopping criterion on epsilon rate.
virtual const std::vector< double > & history() const =0
Returns the scheme history.
virtual void enableMaxTime()=0
Enable stopping criterion on timeout.
Signaler1< std::string > onStop
Criteria messageApproximationScheme.
IApproximationSchemeConfiguration()
Class constructors.
virtual double maxTime() const =0
Returns the timeout (in seconds).
virtual void setMaxIter(Size max)=0
Stopping criterion on number of iterations.
virtual void setVerbosity(bool v)=0
Set the verbosity on (true) or off (false).
~IApproximationSchemeConfiguration()
Class destructor.
virtual Size maxIter() const =0
Returns the criterion on number of iterations.
virtual double currentTime() const =0
Returns the current running time in second.
std::string messageApproximationScheme() const
Returns the approximation scheme message.
virtual void setEpsilon(double eps)=0
Given that we approximate f(t), stopping criterion on |f(t+1)-f(t)|.
virtual double minEpsilonRate() const =0
Returns the value of the minimal epsilon rate.
virtual void setMinEpsilonRate(double rate)=0
Given that we approximate f(t), stopping criterion on d/dt(|f(t+1)-f(t)|).
virtual bool isEnabledMaxIter() const =0
Returns true if stopping criterion on max iterations is enabled, false otherwise. ...
virtual void disableEpsilon()=0
Disable stopping criterion on epsilon.
ApproximationSchemeSTATE
The different state of an approximation scheme.
virtual void setPeriodSize(Size p)=0
How many samples between two stopping is enable.
virtual void disableMaxIter()=0
Disable stopping criterion on max iterations.
virtual void enableMinEpsilonRate()=0
Enable stopping criterion on epsilon rate.
virtual void enableMaxIter()=0
Enable stopping criterion on max iterations.
virtual bool verbosity() const =0
Returns true if verbosity is enabled.