00001
00009 #ifndef _SlopeCondition_h
00010 #define _SlopeCondition_h
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "StandardStopCondition.h"
00021
00022
00023
00024
00025
00026 class SlopeCondition
00027 : public StandardStopCondition
00028 {
00029 public:
00030
00031
00034 SlopeCondition(void);
00035
00036
00041 SlopeCondition(const DoubleParameter& epsilon);
00042
00047 SlopeCondition(const SlopeCondition& from);
00048
00049
00052 ~SlopeCondition(void);
00053
00054
00055
00056
00057
00058
00061 virtual std::auto_ptr<StopConditionBase> Clone() const;
00062
00063
00064
00065
00070 virtual bool IsMet(const ColumnVector& previousPoint,
00071 const ColumnVector& lastPoint,
00072 double previousSlope,
00073 double lastSlope,
00074 double customValue = 0) const;
00075
00080 virtual bool IsMet(const ColumnVector& previousPoint,
00081 const ColumnVector& lastPoint,
00082 double previousSlope,
00083 const FunctionBase& function,
00084 double customValue = 0) const;
00085
00090 virtual bool IsMet(const ColumnVector& previousPoint,
00091 const ColumnVector& lastPoint,
00092 const FunctionBase& function,
00093 double customValue = 0) const;
00094
00095 protected:
00096 private:
00097 };
00098
00099
00100
00101
00102
00103
00104
00105 #endif // _SlopeCondition_h