DichotomousDivisionIteration.h

00001 
00006 #ifndef _DichotomousDivisionIteration_h
00007 #define _DichotomousDivisionIteration_h
00008 
00009 // SYSTEM INCLUDES
00010 //
00011 
00012 // PROJECT INCLUDES
00013 //
00014 
00015 // LOCAL INCLUDES
00016 //
00017 #include "../IterationData.h"
00018 
00019 // FORWARD REFERENCES
00020 //
00021 
00022 
00023 class DichotomousDivisionIteration
00024     : public IterationData
00025 {
00026 public:
00027 
00028     typedef enum
00029     {
00030         XL,
00031         XM,
00032         XR
00033     } NextMiddleType;
00034 
00035     typedef enum
00036     {
00037         LEFT,
00038         RIGHT
00039     } BetterPointType;
00040 
00041 // LIFECYCLE
00042 
00045     DichotomousDivisionIteration(double             a,
00046                                  double             xL,
00047                                  double             xM,
00048                                  double             xR,
00049                                  double             b);
00050 
00053     ~DichotomousDivisionIteration(void);
00054 
00055 // OPERATORS
00056 // OPERATIONS
00057 // ACCESS
00058 
00059     virtual ColumnVector                EndValuePoint() const;
00060 
00061     virtual vector<IterationDataIdType> ClassIds() const;
00062 
00063     static IterationDataIdType          ClassId();
00064 
00067     double              LeftBound() const;
00068 
00071     double              RightBound() const;
00072 
00075     double              LeftStep() const;
00076 
00079     double              MiddleStep() const;
00080 
00083     double              RightStep() const;
00084 
00087     NextMiddleType      NextMiddle() const;
00088     NextMiddleType&     rNextMiddle();
00089 
00090     BetterPointType     BetterPoint() const;
00091     BetterPointType&    rBetterPoint();
00092 
00095     double              Length() const;
00096 
00097 
00098 // INQUIRY
00099 
00100 protected:
00101 private:
00102 
00103     double  mA;     
00104     double  mXl;    
00105     double  mXm;    
00106     double  mXr;    
00107     double  mB;     
00108 
00111     NextMiddleType  mNextMiddle;
00112     BetterPointType mBetterPoint;
00113 
00114 };
00115 
00116 // INLINE METHODS
00117 //
00118 
00119 // EXTERNAL REFERENCES
00120 //
00121 
00122 #endif  // _DichotomousDivisionIteration_h

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