CPPLapack
 All Classes Files Functions Variables Friends
_zcovector.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! (DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class
00003 class _zcovector
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   mutable long l; //!< vector size
00010   mutable comple* array; //!< 1D array to store vector data
00011   
00012   ///////////////////////////////////////////////
00013   ///////////////// constructors ////////////////
00014   ///////////////////////////////////////////////
00015   inline _zcovector();
00016   inline _zcovector(const _zcovector&);
00017   inline ~_zcovector(); //destructor
00018   
00019   ///////////////////////////////////////////////
00020   ////////////////// functions //////////////////
00021   ///////////////////////////////////////////////
00022   //////// cast ////////
00023   
00024   //////// io ////////
00025   inline comple& operator()(const long&) const;
00026   inline friend std::ostream& operator<<(std::ostream&, const _zcovector&);
00027   inline void write(const char*) const;
00028   
00029   //////// calc ////////
00030   inline friend _zrovector t(const _zcovector&);
00031   inline friend _zcovector conj(const _zcovector&);
00032   inline friend _zrovector conjt(const _zcovector&);
00033   inline friend double nrm2(const _zcovector&);
00034   inline friend long idamax(const _zcovector&);
00035   inline friend comple damax(const _zcovector&);
00036   
00037   //////// misc ////////
00038   inline void nullify() const;
00039   inline void destroy() const;
00040   
00041   ///////////////////////////////////////////////
00042   ///////////// numerical operators /////////////
00043   ///////////////////////////////////////////////
00044   //////// unary ////////
00045   inline friend const _zcovector& operator+(const _zcovector&);
00046   inline friend _zcovector operator-(const _zcovector&);
00047   
00048   //////// + ////////
00049   inline friend _zcovector operator+(const _zcovector&, const  zcovector&);
00050   inline friend _zcovector operator+(const _zcovector&, const _zcovector&);
00051   
00052   //////// - ////////
00053   inline friend _zcovector operator-(const _zcovector&, const  zcovector&);
00054   inline friend _zcovector operator-(const _zcovector&, const _zcovector&);
00055   
00056   //////// * ////////
00057   inline friend _zgematrix operator*(const _zcovector&, const  zrovector&);
00058   inline friend _zgematrix operator*(const _zcovector&, const _zrovector&);
00059   inline friend _zcovector operator*(const _zcovector&, const     double&);
00060   inline friend _zcovector operator*(const _zcovector&, const     comple&);
00061   
00062   //////// / ////////
00063   inline friend _zcovector operator/(const _zcovector&, const     double&);
00064   inline friend _zcovector operator/(const _zcovector&, const     comple&);
00065   
00066   //////// % ////////
00067   inline friend     comple operator%(const _zcovector&, const  zcovector&);
00068   inline friend     comple operator%(const _zcovector&, const _zcovector&);
00069   
00070   //////// double, complex ////////
00071   inline friend _zcovector operator*(const     double&, const _zcovector&);
00072   inline friend _zcovector operator*(const     comple&, const _zcovector&);
00073 };
 All Classes Files Functions Variables Friends