00001
00006 #ifndef _BolzanoDivisionIteration_h
00007 #define _BolzanoDivisionIteration_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "../IterationData.h"
00018
00019
00020
00021
00022
00023 class BolzanoDivisionIteration
00024 : public IterationData
00025 {
00026 public:
00027
00028 typedef enum
00029 {
00030 LEFT = 1,
00031 RIGHT = 2,
00032 NONE = 3
00033 } HalfChosenType;
00034
00035
00036
00039 BolzanoDivisionIteration(double a,
00040 double middle,
00041 double b);
00042
00045 ~BolzanoDivisionIteration(void);
00046
00047
00048
00049
00050
00051 virtual ColumnVector EndValuePoint() const;
00052
00053 virtual vector<IterationDataIdType> ClassIds() const;
00054
00055 static IterationDataIdType ClassId();
00056
00059 double LeftBound() const;
00060
00063 double Middle() const;
00064
00067 double RightBound() const;
00068
00069 HalfChosenType HalfChosen() const;
00070 HalfChosenType& rHalfChosen();
00071
00072 double Length() const;
00073
00074
00075
00076 protected:
00077 private:
00078
00079 double mA;
00080 double mMiddle;
00081 double mB;
00082
00083 HalfChosenType mHalfChosen;
00084
00085 };
00086
00087
00088
00089
00090
00091
00092
00093 #endif // _BolzanoDivisionIteration_h