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

operator/spooles.hh
Go to the documentation of this file.
00001 // interface to SPOOLES
00002 
00003 #ifndef SPOOLES_HH
00004 #define SPOOLES_HH
00005 
00006 #include "basics/typedefs.hh"
00007 #include "compositions.hh"
00008 
00009 namespace concepts {
00010 
00011   using concepts::Real;
00012 
00013   // forwards
00014   template<typename F>
00015   class SparseMatrix;
00016 
00017   // *************************************************************** Spooles **
00018 
00023   class Spooles : public Operator<Real> {
00024   public:
00029     Spooles(const SparseMatrix<Real>& A, bool symmetric = false);
00030     virtual ~Spooles();
00031     virtual void operator()(const Function<Real>& fncY, Function<Real>& fncX);
00032     void operator()(const Vector<Real>& fncY, Vector<Real>& fncX);
00033     virtual const Space<Real>& spaceX() const { return spcX_; }
00034     virtual const Space<Real>& spaceY() const { return spcY_; }
00035     uint iterations() const { return 0; }
00036   protected:
00037     virtual std::ostream& info(std::ostream& os) const;
00038   private:
00040     const uint n_;
00042     const Space<Real>& spcX_;
00044     const Space<Real>& spcY_;
00046     bool symmetric_;
00048     bool factored_;
00049 
00051     void* mtxA, * frontmtx, * mtxmanager, * chvmanager, * rootchv,
00052       * frontETree, * graph, * newToOldIV, * oldToNewIV, * adjIVL,
00053       * symbfacIVL, * bridge;
00054     int* oldToNew, * newToOld;
00055     int rc;
00056   };
00057 
00058 } // namespace concepts
00059 
00060 #endif // SPOOLES_HH

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