BolzanoDivision.h

00001 
00059 #ifndef _BolzanoDivision_h
00060 #define _BolzanoDivision_h
00061 
00062 // SYSTEM INCLUDES
00063 //
00064 
00065 // PROJECT INCLUDES
00066 //
00067 
00068 // LOCAL INCLUDES
00069 //
00070 #include "../DoubleParameter.h"
00071 #include "../ProblemBase.h"
00072 #include "../SectionLineSearch.h"
00073 #include "../UnivariateFunction.h"
00074 #include "../ui/SectionLineSearchPanel.h"
00075 
00076 // FORWARD REFERENCES
00077 //
00078 
00079 
00080 class BolzanoDivision
00081     : public SectionLineSearch
00082 {
00083 public:
00084     friend class SectionLineSearchPanel<BolzanoDivision>;
00085 
00086 // LIFECYCLE
00087 
00088 
00091     ~BolzanoDivision(void);
00092 
00093 
00094 // OPERATORS
00095 
00096 // OPERATIONS
00097 
00098 
00101     virtual std::auto_ptr<Method>       Clone() const;
00102 
00103 // ACCESS
00106     virtual const wxString&         Name() const;
00107 
00110     virtual MethodIdType            Id() const;
00111 
00114     static MethodIdType             ClassId();
00115 
00116 // INQUIRY
00117 
00118     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00119 
00120     virtual bool                    CanAssist(const ProblemBase* pProblem) const;
00121 
00122 protected:
00123 
00126     BolzanoDivision(void);
00127 
00132     BolzanoDivision(const BolzanoDivision& from);
00133 
00134     virtual wxString&               rName();
00135 private:
00136 
00137     virtual std::auto_ptr<Result>   Solve(
00138                                       const UnivariateFunction& function,
00139                                       double                    a,
00140                                       double                    b,
00141                                       bool                      generateResult)
00142                           const throw(OptimizationError);
00143 
00144 
00145     static wxString      mName;                 
00146     static BolzanoDivision mBolzanoDivision;    
00147 };
00148 
00149 // INLINE METHODS
00150 //
00151 
00152 // EXTERNAL REFERENCES
00153 //
00154 
00155 #endif  // _BolzanoDivision_h_

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