Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

operator/afterIteration.hh
Go to the documentation of this file.
00001 
00005 #ifndef afteriterations_hh
00006 #define afteriterations_hh
00007 
00008 #include "compositions.hh"
00009 #include "toolbox/sequence.hh"
00010 
00011 namespace concepts {
00012   
00013   // ********************************************************* AfterIteration **
00014 
00024   template<class F>
00025   class AfterIteration : public Operator<F> {
00026   public:
00028     typedef F type;
00029 
00036     AfterIteration(Operator<F>& A, Operator<F>& solver,
00037                    const uint afterIter = 0);
00038     virtual ~AfterIteration() {}
00039 
00040     virtual void operator()(const Function<F>& fncY, Function<F>& fncX);
00041 
00042     const Vector<F>& solution();
00043     const Vector<F>& solution(uint i);
00044     const Vector<F>& residual();
00045     const Vector<F>& residual(uint i);
00046   protected:
00047     virtual std::ostream& info(std::ostream& os) const;
00048   private:
00050     Operator<F> &A_, &solver_;
00052     uint afterIter_;
00054     uint cnt_;
00056     Sequence<Vector<F> > solution_;
00058     Sequence<Vector<F> > residual_;
00059   };
00060 
00061 } // namespace concepts
00062 
00063 #endif // afteriterations_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)