FibonacciDivisionIteration.h

00001 
00006 #ifndef _FibonacciDivisionIteration_h
00007 #define _FibonacciDivisionIteration_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 FibonacciDivisionIteration
00024     : public IterationData
00025 {
00026 public:
00027 
00028     typedef enum
00029     {
00030         LAMBDA,
00031         MU,
00032         B
00033     } NextRightBoundType;
00034 
00035 // LIFECYCLE
00036 
00039     FibonacciDivisionIteration(double       a,
00040                                double       lambda,
00041                                double       mu,
00042                                double       b);
00043 
00046     ~FibonacciDivisionIteration(void);
00047 
00048 // OPERATORS
00049 // OPERATIONS
00050 // ACCESS
00051 
00052     virtual ColumnVector                EndValuePoint() const;
00053 
00054     virtual vector<IterationDataIdType> ClassIds() const;
00055 
00056     static IterationDataIdType          ClassId();
00057 
00060     double              LeftBound() const;
00061 
00064     double              RightBound() const;
00065 
00068     double              Lambda() const;
00069 
00072     double              Mu() const;
00073 
00074     double              BetterPoint() const;
00075     double              WorsePoint() const;
00076 
00077     double              MuCoefficient() const;
00078     double              LambdaCoefficient() const;
00079 
00080 /*
00081     PartChosenType      PartChosen() const;
00082     PartChosenType&     rPartChosen();
00083 */
00084 
00085     NextRightBoundType  NextRightBound() const;
00086     NextRightBoundType& rNextRightBound();
00087 
00088     bool                Last() const;
00089     bool&               rLast();
00090 
00093     double              Length() const;
00094 
00095 // INQUIRY
00096 
00097 protected:
00098 private:
00099 
00100     double  mA;         
00101     double  mLambda;    
00102     double  mMu;        
00103     double  mB;         
00104     bool    mLast;
00105 
00106     NextRightBoundType  mNextRightBound;
00107 
00108 };
00109 
00110 // INLINE METHODS
00111 //
00112 
00113 // EXTERNAL REFERENCES
00114 //
00115 
00116 #endif  // _FibonacciDivisionIteration_h

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