00001
00003 class _drovector
00004 {
00005 public:
00007 mutable long L;
00008 mutable double* Array;
00009
00011 inline _drovector();
00012 inline _drovector(const _drovector&);
00013 inline ~_drovector();
00014
00016 inline operator _zrovector();
00017
00019 inline double& operator()(const long&) const;
00020 inline friend std::ostream& operator<<(std::ostream&, const _drovector&);
00021 inline void write(const char *) const;
00022
00024 inline friend _dcovector t(const drovector&);
00025 inline friend double nrm2(const drovector&);
00026 inline friend long idamax(const drovector&);
00027 inline friend double damax(const drovector&);
00028
00030 inline void destroy() const;
00031
00033 inline friend const _drovector& operator+(const _drovector&);
00034 inline friend _drovector operator-(const _drovector&);
00035
00037 inline friend _drovector operator+(const drovector&, const drovector&);
00038 inline friend _drovector operator+(const drovector&, const _drovector&);
00039 inline friend _drovector operator+(const _drovector&, const drovector&);
00040 inline friend _drovector operator+(const _drovector&, const _drovector&);
00041
00043 inline friend _drovector operator-(const drovector&, const drovector&);
00044 inline friend _drovector operator-(const drovector&, const _drovector&);
00045 inline friend _drovector operator-(const _drovector&, const drovector&);
00046 inline friend _drovector operator-(const _drovector&, const _drovector&);
00047
00049 inline friend _drovector operator*(const drovector&, const dgematrix&);
00050 inline friend _drovector operator*(const drovector&, const _dgematrix&);
00051 inline friend _drovector operator*(const _drovector&, const dgematrix&);
00052 inline friend _drovector operator*(const _drovector&, const _dgematrix&);
00053
00054 inline friend _drovector operator*(const drovector&, const dgbmatrix&);
00055 inline friend _drovector operator*(const drovector&, const _dgbmatrix&);
00056 inline friend _drovector operator*(const _drovector&, const dgbmatrix&);
00057 inline friend _drovector operator*(const _drovector&, const _dgbmatrix&);
00058
00059 inline friend _drovector operator*(const drovector&, const dsymatrix&);
00060 inline friend _drovector operator*(const drovector&, const _dsymatrix&);
00061 inline friend _drovector operator*(const _drovector&, const dsymatrix&);
00062 inline friend _drovector operator*(const _drovector&, const _dsymatrix&);
00063
00064 inline friend _drovector operator*(const drovector&, const dssmatrix&);
00065 inline friend _drovector operator*(const drovector&, const _dssmatrix&);
00066 inline friend _drovector operator*(const _drovector&, const dssmatrix&);
00067 inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
00068
00069 inline friend _drovector operator*(const double&, const drovector&);
00070 inline friend _drovector operator*(const double&, const _drovector&);
00071 inline friend _drovector operator*(const drovector&, const double&);
00072 inline friend _drovector operator*(const _drovector&, const double&);
00073
00074 inline friend _dgematrix operator*(const dcovector&, const _drovector&);
00075 inline friend _dgematrix operator*(const _dcovector&, const _drovector&);
00076 inline friend double operator*(const _drovector&, const dcovector&);
00077 inline friend double operator*(const _drovector&, const _dcovector&);
00078
00080 inline friend _drovector operator/(const drovector&, const double&);
00081 inline friend _drovector operator/(const _drovector&, const double&);
00082
00084 inline friend double operator%(const drovector&, const _drovector&);
00085 inline friend double operator%(const _drovector&, const drovector&);
00086 inline friend double operator%(const _drovector&, const _drovector&);
00087
00089 friend class dgematrix;
00090 friend class _dgematrix;
00091 friend class dgbmatrix;
00092 friend class _dgbmatrix;
00093 friend class dsymatrix;
00094 friend class _dsymatrix;
00095 friend class dcovector;
00096 friend class _dcovector;
00097 friend class drovector;
00098 };