QuadraticApproximationIteration.h

00001 
00006 #ifndef _QuadraticApproximationteration_h
00007 #define _QuadraticApproximationIteration_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 QuadraticApproximationIteration
00024     : public IterationData
00025 {
00026 public:
00029     typedef enum {
00030         AM,
00031         XB,
00032         MB,
00033         AX,
00034         NONE_OK,    
00035 
00036 
00037         NONE_ERROR  
00038 
00039     } NextSectionType;
00040 
00041 
00042     // LIFECYCLE
00043 
00046     QuadraticApproximationIteration(double a,
00047                                     double b,
00048                                     double m,
00049                                     double x,
00050                                     bool   xBetter);
00051 
00054     ~QuadraticApproximationIteration(void);
00055 
00056 // OPERATORS
00057 
00058 // OPERATIONS
00059 
00060 
00061 // ACCESS
00062 
00063     virtual ColumnVector  EndValuePoint() const;
00064 
00065     virtual vector<IterationDataIdType> ClassIds() const;
00066 
00067     static IterationDataIdType          ClassId();
00068 
00071     double      LeftBound() const;
00072 
00075     double      RightBound() const;
00076 
00079     double      TrialPoint() const;
00080 
00084     double      ApproximationStationaryPoint() const;
00085 
00088     NextSectionType     NextSection() const;
00089 
00092     NextSectionType&    rNextSection();
00093 
00096     bool        XIsBetter() const;
00097 
00100     double      BetterStep() const;
00101 
00104     double      WorseStep() const;
00105 
00108     double      Length() const;
00109 
00110 // INQUIRY
00113     bool        XOutOfBounds() const;
00114 
00119     bool        Succeeded() const;
00120 
00121 protected:
00122 private:
00123 
00124     double  mA;     
00125     double  mB;     
00126 
00127     double  mM;     
00128     double  mX;     
00129 
00130     bool    mXBetter;  
00131 
00132     NextSectionType mNextSection;   
00133 };
00134 
00135 // INLINE METHODS
00136 //
00137 
00138 // EXTERNAL REFERENCES
00139 //
00140 
00141 #endif  // _QuadraticApproximationIteration_h

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