DichotomousDivision.h

00001 
00079 #ifndef _DichotomousDivision_h
00080 #define _DichotomousDivision_h
00081 
00082 // SYSTEM INCLUDES
00083 //
00084 
00085 // PROJECT INCLUDES
00086 //
00087 
00088 // LOCAL INCLUDES
00089 //
00090 #include "../DoubleParameter.h"
00091 #include "../ProblemBase.h"
00092 #include "../SectionLineSearch.h"
00093 #include "../UnivariateFunction.h"
00094 #include "../ui/SectionLineSearchPanel.h"
00095 
00096 // FORWARD REFERENCES
00097 //
00098 
00099 
00100 class DichotomousDivision
00101     : public SectionLineSearch
00102 {
00103 public:
00104     friend class SectionLineSearchPanel<DichotomousDivision>;
00105 
00106 // LIFECYCLE
00107 
00108 
00111     ~DichotomousDivision(void);
00112 
00113 
00114 // OPERATORS
00115 
00116 // OPERATIONS
00117 
00118 
00121     virtual std::auto_ptr<Method>   Clone() const;
00122 
00123 // ACCESS
00126     virtual const wxString&         Name() const;
00127 
00130     virtual MethodIdType            Id() const;
00131 
00134     static MethodIdType             ClassId();
00135 
00136 // INQUIRY
00137 
00138     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00139 
00140 protected:
00141 
00144     DichotomousDivision(void);
00145 
00150     DichotomousDivision(const DichotomousDivision& from);
00151 
00152     virtual wxString&               rName();
00153 private:
00154 
00155     virtual std::auto_ptr<Result>   Solve(
00156                                       const UnivariateFunction& function,
00157                                       double                    a,
00158                                       double                    b,
00159                                       bool                      generateResult)
00160                           const throw(OptimizationError);
00161 
00162 
00165     static wxString       mName;
00168     static DichotomousDivision  mDichotomousDivision;
00169 };
00170 
00171 // INLINE METHODS
00172 //
00173 
00174 // EXTERNAL REFERENCES
00175 //
00176 
00177 #endif  // _DichotomousDivision_h_

Wygenerowano Fri Sep 29 21:04:47 2006 dla EduOptim2 programem  doxygen 1.4.6