CPPLapack
 All Classes Files Functions Variables Friends
zcovector.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! Complex Double-precision Column Vector Class
00003 class zcovector
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   long l; //!< vector size
00010   comple* array; //!< 1D array to store vector data
00011   
00012   ///////////////////////////////////////////////
00013   ///////////////// constructors ////////////////
00014   ///////////////////////////////////////////////
00015   inline zcovector();
00016   inline zcovector(const zcovector&);
00017   inline zcovector(const _zcovector&);
00018   inline zcovector(const long&);
00019   inline zcovector(const char*);
00020   inline ~zcovector(); //destructor
00021   
00022   ///////////////////////////////////////////////
00023   ////////////////// functions //////////////////
00024   ///////////////////////////////////////////////
00025   //////// cast ////////
00026   
00027   //////// io ////////
00028   inline comple& operator()(const long&);
00029   inline comple operator()(const long&) const;
00030   inline zcovector& set(const long&, const comple&);
00031   inline friend std::ostream& operator<<(std::ostream&, const zcovector&);
00032   inline void write(const char*) const;
00033   inline void read(const char*);
00034   
00035   //////// calc ////////
00036   inline friend _zrovector t(const zcovector&);
00037   inline friend _zcovector conj(const zcovector&);
00038   inline friend _zrovector conjt(const zcovector&);
00039   inline friend double nrm2(const zcovector&);
00040   inline friend long idamax(const zcovector&);
00041   inline friend comple damax(const zcovector&);
00042   
00043   //////// misc ////////
00044   inline void clear();
00045   inline zcovector& zero();
00046   inline void chsign();
00047   inline void copy(const zcovector&);
00048   inline void shallow_copy(const _zcovector&);
00049   inline void alias(const zcovector&);
00050   inline void unalias();
00051   inline void resize(const long&);
00052   inline friend void swap(zcovector&, zcovector&);
00053   inline friend _zcovector _(zcovector&);
00054   
00055   ///////////////////////////////////////////////
00056   ///////////// numerical operators /////////////
00057   ///////////////////////////////////////////////
00058   //////// = ////////
00059   inline zcovector& operator=(const  zcovector&);
00060   inline zcovector& operator=(const _zcovector&);
00061   
00062   //////// += ////////
00063   inline zcovector& operator+=(const  zcovector&);
00064   inline zcovector& operator+=(const _zcovector&);
00065   
00066   //////// -= ////////
00067   inline zcovector& operator-=(const  zcovector&);
00068   inline zcovector& operator-=(const _zcovector&);
00069   
00070   //////// *= ////////
00071   inline zcovector& operator*=(const     double&);
00072   inline zcovector& operator*=(const     comple&);
00073   
00074   //////// /= ////////
00075   inline zcovector& operator/=(const     double&);
00076   inline zcovector& operator/=(const     comple&);
00077   
00078   //////// unary ////////
00079   inline friend const zcovector& operator+(const zcovector&);
00080   inline friend _zcovector operator-(const  zcovector&);
00081   
00082   //////// + ////////
00083   inline friend _zcovector operator+(const  zcovector&, const  zcovector&);
00084   inline friend _zcovector operator+(const  zcovector&, const _zcovector&);
00085   
00086   //////// - ////////
00087   inline friend _zcovector operator-(const  zcovector&, const  zcovector&);
00088   inline friend _zcovector operator-(const  zcovector&, const _zcovector&);
00089   
00090   //////// * ////////
00091   inline friend _zgematrix operator*(const  zcovector&, const  zrovector&);
00092   inline friend _zgematrix operator*(const  zcovector&, const _zrovector&);
00093   inline friend _zcovector operator*(const  zcovector&, const     double&);
00094   inline friend _zcovector operator*(const  zcovector&, const     comple&);
00095   
00096   //////// / ////////
00097   inline friend _zcovector operator/(const  zcovector&, const     double&);
00098   inline friend _zcovector operator/(const  zcovector&, const     comple&);
00099   
00100   //////// % ////////
00101   inline friend     comple operator%(const  zcovector&, const  zcovector&);
00102   inline friend     comple operator%(const  zcovector&, const _zcovector&);
00103   
00104   //////// double, comple ////////
00105   inline friend _zcovector operator*(const     double&, const  zcovector&);
00106   inline friend _zcovector operator*(const     comple&, const  zcovector&);
00107 };
 All Classes Files Functions Variables Friends