CPPLapack
 All Classes Files Functions Variables Friends
_dgematrix.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! (DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
00003 class _dgematrix
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   mutable long m; //!< matrix row size
00010   mutable long n; //!< matrix column size
00011   mutable double* array; //!< 1D array to store matrix data
00012   mutable double** darray; //!< array of pointers of column head addresses
00013 
00014   ///////////////////////////////////////////////
00015   ///////////////// constructors ////////////////
00016   ///////////////////////////////////////////////
00017   inline _dgematrix();
00018   inline _dgematrix(const _dgematrix&);
00019   inline ~_dgematrix(); //destructor
00020   
00021   ///////////////////////////////////////////////
00022   ////////////////// functions //////////////////
00023   ///////////////////////////////////////////////
00024   //////// cast ////////
00025   inline _zgematrix to_zgematrix() const;
00026   
00027   //////// io ////////
00028   inline double& operator()(const long&, const long&) const;
00029   inline friend std::ostream& operator<<(std::ostream&, const dgematrix&);
00030   inline void write(const char*) const;
00031   
00032   //////// misc ////////
00033   inline void nullify() const;
00034   inline void destroy() const;
00035   
00036   //////// calc ////////
00037   inline friend _dgematrix t(const _dgematrix&);
00038   inline friend _dgematrix i(const _dgematrix&);
00039   inline friend void idamax(long&, long&, const _dgematrix&);
00040   inline friend double damax(const _dgematrix&);
00041   
00042   ///////////////////////////////////////////////
00043   ///////////// numerical operators /////////////
00044   ///////////////////////////////////////////////
00045   //////// unary ////////
00046   inline friend const _dgematrix& operator+(const _dgematrix&);
00047   inline friend _dgematrix operator-(const _dgematrix&);
00048   
00049   //////// + ////////
00050   inline friend _dgematrix operator+(const _dgematrix&, const  dgematrix&);
00051   inline friend _dgematrix operator+(const _dgematrix&, const _dgematrix&);
00052   inline friend _dgematrix operator+(const _dgematrix&, const  dsymatrix&);
00053   inline friend _dgematrix operator+(const _dgematrix&, const _dsymatrix&);
00054   inline friend _dgematrix operator+(const _dgematrix&, const  dgbmatrix&);
00055   inline friend _dgematrix operator+(const _dgematrix&, const _dgbmatrix&);
00056   inline friend _dgematrix operator+(const _dgematrix&, const  dgsmatrix&);
00057   inline friend _dgematrix operator+(const _dgematrix&, const _dgsmatrix&);
00058   inline friend _dgematrix operator+(const _dgematrix&, const  dssmatrix&);
00059   inline friend _dgematrix operator+(const _dgematrix&, const _dssmatrix&);
00060   
00061   //////// - ////////
00062   inline friend _dgematrix operator-(const _dgematrix&, const  dgematrix&);
00063   inline friend _dgematrix operator-(const _dgematrix&, const _dgematrix&);
00064   inline friend _dgematrix operator-(const _dgematrix&, const  dsymatrix&);
00065   inline friend _dgematrix operator-(const _dgematrix&, const _dsymatrix&);
00066   inline friend _dgematrix operator-(const _dgematrix&, const  dgbmatrix&);
00067   inline friend _dgematrix operator-(const _dgematrix&, const _dgbmatrix&);
00068   inline friend _dgematrix operator-(const _dgematrix&, const  dgsmatrix&);
00069   inline friend _dgematrix operator-(const _dgematrix&, const _dgsmatrix&);
00070   inline friend _dgematrix operator-(const _dgematrix&, const  dssmatrix&);
00071   inline friend _dgematrix operator-(const _dgematrix&, const _dssmatrix&);
00072   
00073   //////// * ////////
00074   inline friend _dcovector operator*(const _dgematrix&, const  dcovector&);
00075   inline friend _dcovector operator*(const _dgematrix&, const _dcovector&);
00076   inline friend _dgematrix operator*(const _dgematrix&, const  dgematrix&);
00077   inline friend _dgematrix operator*(const _dgematrix&, const _dgematrix&);
00078   inline friend _dgematrix operator*(const _dgematrix&, const  dsymatrix&);
00079   inline friend _dgematrix operator*(const _dgematrix&, const _dsymatrix&);
00080   inline friend _dgematrix operator*(const _dgematrix&, const  dgbmatrix&);
00081   inline friend _dgematrix operator*(const _dgematrix&, const _dgbmatrix&);
00082   inline friend _dgematrix operator*(const _dgematrix&, const  dgsmatrix&);
00083   inline friend _dgematrix operator*(const _dgematrix&, const _dgsmatrix&);
00084   inline friend _dgematrix operator*(const _dgematrix&, const  dssmatrix&);
00085   inline friend _dgematrix operator*(const _dgematrix&, const _dssmatrix&);
00086   inline friend _dgematrix operator*(const _dgematrix&, const     double&);
00087   
00088   //////// / ////////
00089   inline friend _dgematrix operator/(const _dgematrix&, const     double&);
00090   
00091   //////// double ////////
00092   inline friend _dgematrix operator*(const     double&, const _dgematrix&);
00093 };
 All Classes Files Functions Variables Friends