CPPLapack
 All Classes Files Functions Variables Friends
zcovector_small.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! Samll Complex Double-precision Column Vector Class
00003 template<long l> class zcovector_small
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   comple array[l];
00010   
00011   ///////////////////////////////////////////////
00012   ///////////////// constructors ////////////////
00013   ///////////////////////////////////////////////
00014   inline zcovector_small();
00015   inline explicit zcovector_small(const zcovector&);
00016   inline zcovector_small(const comple&);
00017   inline zcovector_small(const comple&, const comple&);
00018   inline zcovector_small(const comple&, const comple&, const comple&);
00019   inline ~zcovector_small();
00020   
00021   ///////////////////////////////////////////////
00022   ////////////////// functions //////////////////
00023   ///////////////////////////////////////////////
00024   //////// cast ////////
00025   inline _zcovector to_zcovector() const;
00026   
00027   //////// io ////////
00028   inline comple& operator()(const long&);
00029   inline comple  operator()(const long&) const;
00030   inline zcovector_small<l>& set(const long&, const comple&);
00031   template<long _l> inline friend std::ostream& operator<<(std::ostream&, const zcovector_small<_l>&);
00032   inline void read(const char* filename);
00033   inline void write(const char* filename) const;
00034   
00035   //////// calc ////////
00036   template<long _l> inline friend zrovector_small<_l> t(const zcovector_small<_l>&);
00037   template<long _l> inline friend comple nrm2(const zcovector_small<_l>&);
00038   template<long _l> inline friend long idamax(const zcovector_small<_l>&);
00039   template<long _l> inline friend comple damax(const zcovector_small<_l>&);
00040   
00041   //////// misc ////////
00042   inline zcovector_small<l>& zero();
00043   
00044   ///////////////////////////////////////////////
00045   ///////////// numerical operators /////////////
00046   ///////////////////////////////////////////////
00047   //////// = ////////
00048   template<long L> inline zcovector_small<L>& operator= (const  zcovector_small<L>&);
00049   //////// += ////////
00050   template<long L> inline friend zcovector_small<L>& operator+=(zcovector_small<L>&, const zcovector_small<L>&);
00051   //////// -= ////////
00052   template<long L> inline friend zcovector_small<L>& operator-=(zcovector_small<L>&, const zcovector_small<L>&);
00053   //////// *= ////////
00054   template<long L> inline friend zcovector_small<L>& operator*=(zcovector_small<L>&, const             comple&);
00055   //////// /= ////////
00056   template<long L> inline friend zcovector_small<L>& operator/=(zcovector_small<L>&, const             comple&);
00057   //////// unary ////////
00058   template<long L> inline friend const zcovector_small<L>& operator+(const zcovector_small<L>&);
00059   template<long L> inline friend zcovector_small<L> operator-(const zcovector_small<L>&);
00060   //////// + ////////
00061   template<long L> inline friend zcovector_small<L> operator+(const zcovector_small<L>&, const zcovector_small<L>&);
00062   //////// - ////////
00063   template<long L> inline friend zcovector_small<L> operator-(const zcovector_small<L>&, const zcovector_small<L>&);
00064   //////// * ////////
00065   template<long M, long N> inline friend zgematrix_small<M,N> operator*(const zcovector_small<M>&, const zrovector_small<N>&);
00066   template<long L> inline friend zcovector_small<L> operator*(const zcovector_small<L>&, const             comple&);
00067   //////// / ////////
00068   template<long L> inline friend zcovector_small<L> operator/(const zcovector_small<L>&, const             comple&);
00069   //////// comple ////////
00070   template<long L> inline friend zcovector_small<L> operator*(const             comple&, const zcovector_small<L>&);
00071 };
00072 
00073 ///////////////////////////////////////////////////////////////////////////////
00074 ///////////////////////////////////////////////////////////////////////////////
00075 ///////////////////////////////////////////////////////////////////////////////
00076 
00077 //=============================================================================
00078 //////// zcovec2 ////////
00079 inline comple  operator/(const zcovec2&, const zcovec2&);
00080 
00081 //////// zcovec3 ////////
00082 inline zcovec3 operator/(const zcovec3&, const zcovec3&);
00083 inline zcovec3 operator/=(zcovec3&, const zcovec3&);
 All Classes Files Functions Variables Friends