CPPLapack
 All Classes Files Functions Variables Friends
_drovector.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! (DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
00003 class _drovector
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   mutable long l; //!< vector size
00010   mutable long cap; //!< vector capacity
00011   mutable double* array; //!< 1D array to store vector data
00012   
00013   ///////////////////////////////////////////////
00014   ///////////////// constructors ////////////////
00015   ///////////////////////////////////////////////
00016   inline _drovector();
00017   inline _drovector(const _drovector&);
00018   inline ~_drovector(); //destructor
00019   
00020   ///////////////////////////////////////////////
00021   ////////////////// functions //////////////////
00022   ///////////////////////////////////////////////
00023   //////// cast ////////
00024   inline _zrovector to_zrovector() const;
00025   
00026   //////// io ////////
00027   inline double& operator()(const long&) const;
00028   inline friend std::ostream& operator<<(std::ostream&, const _drovector&);
00029   inline void write(const char*) const;
00030   
00031   //////// calc ////////
00032   inline friend _dcovector t(const drovector&);
00033   inline friend double nrm2(const drovector&);
00034   inline friend long idamax(const drovector&);
00035   inline friend double damax(const drovector&);
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 _drovector& operator+(const _drovector&);
00046   inline friend _drovector operator-(const _drovector&);
00047   
00048   //////// + ////////
00049   inline friend _drovector operator+(const _drovector&, const  drovector&);
00050   inline friend _drovector operator+(const _drovector&, const _drovector&);
00051   
00052   //////// - ////////
00053   inline friend _drovector operator-(const _drovector&, const  drovector&);
00054   inline friend _drovector operator-(const _drovector&, const _drovector&);
00055   
00056   //////// * ////////
00057   inline friend     double operator*(const _drovector&, const  dcovector&);
00058   inline friend     double operator*(const _drovector&, const _dcovector&);
00059   inline friend _drovector operator*(const _drovector&, const  dgematrix&);
00060   inline friend _drovector operator*(const _drovector&, const _dgematrix&);
00061   inline friend _drovector operator*(const _drovector&, const  dsymatrix&);
00062   inline friend _drovector operator*(const _drovector&, const _dsymatrix&);
00063   inline friend _drovector operator*(const _drovector&, const  dgbmatrix&);
00064   inline friend _drovector operator*(const _drovector&, const _dgbmatrix&);
00065   inline friend _drovector operator*(const _drovector&, const  dgsmatrix&);
00066   inline friend _drovector operator*(const _drovector&, const _dgsmatrix&);
00067   inline friend _drovector operator*(const _drovector&, const  dssmatrix&);
00068   inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
00069   inline friend _drovector operator*(const _drovector&, const     double&);
00070   
00071   //////// / ////////
00072   inline friend _drovector operator/(const _drovector&, const     double&);
00073   
00074   //////// % ////////
00075   inline friend     double operator%(const _drovector&, const  drovector&);
00076   inline friend     double operator%(const _drovector&, const _drovector&);
00077   
00078   //////// double ////////
00079   inline friend _drovector operator*(const     double&, const _drovector&);
00080 };
 All Classes Files Functions Variables Friends