00001
00002
00003 class dcovector
00004 {
00005 private:
00006
00007 long L;
00008 long Ll;
00009 long Desc[9];
00010 double* Array;
00011
00012 public:
00013
00014 long const& l;
00015 long const& ll;
00016 long* const& desc;
00017 double* const& array;
00018
00019
00020 inline dcovector();
00021 inline dcovector(const dcovector&);
00022 inline dcovector(const _dcovector&);
00023 inline dcovector(const long&);
00024 inline ~dcovector();
00025
00026
00027 inline CPPSL_double operator()(const long&);
00028 inline double operator()(const long&) const;
00029 inline void set(const long&, const double&) const;
00030 inline friend std::ostream& operator<<(std::ostream&, const dcovector&);
00031
00032
00033
00034
00035
00036
00037 inline void clear();
00038 inline void zero();
00039 inline void chsign();
00040 inline void copy(const dcovector&);
00041 inline void shallow_copy(const _dcovector&);
00042 inline void resize(const long&);
00043 inline friend void swap(dcovector&, dcovector&);
00044
00045
00046 inline friend const dcovector& operator+(const dcovector&);
00047 inline friend _dcovector operator-(const dcovector&);
00048
00049
00050 inline dcovector& operator=(const dcovector&);
00051 inline dcovector& operator+=(const dcovector&);
00052 inline dcovector& operator-=(const dcovector&);
00053
00054 inline dcovector& operator=(const _dcovector&);
00055 inline dcovector& operator+=(const _dcovector&);
00056 inline dcovector& operator-=(const _dcovector&);
00057
00058 inline dcovector& operator*=(const double&);
00059 inline dcovector& operator/=(const double&);
00060
00061
00062 inline friend _dcovector operator+(const dcovector&, const dcovector&);
00063 inline friend _dcovector operator+(const dcovector&, const _dcovector&);
00064 inline friend _dcovector operator+(const _dcovector&, const dcovector&);
00065
00066
00067 inline friend _dcovector operator-(const dcovector&, const dcovector&);
00068 inline friend _dcovector operator-(const dcovector&, const _dcovector&);
00069 inline friend _dcovector operator-(const _dcovector&, const dcovector&);
00070
00071
00072 inline friend _dcovector operator*(const dgematrix&, const dcovector&);
00073 inline friend _dcovector operator*(const _dgematrix&, const dcovector&);
00074
00075
00076
00077 inline friend _dgematrix operator*(const dcovector&, const _drovector&);
00078 inline friend _dgematrix operator*(const dcovector&, const drovector&);
00079
00080 inline friend _dcovector operator*(const double&, const dcovector&);
00081 inline friend _dcovector operator*(const dcovector&, const double&);
00082
00083 inline friend double operator*(const _drovector&, const dcovector&);
00084 inline friend double operator*(const drovector&, const dcovector&);
00085
00086
00087 inline friend _dcovector operator/(const dcovector&, const double&);
00088
00089
00090 inline friend double operator%(const dcovector&, const dcovector&);
00091 inline friend double operator%(const dcovector&, const _dcovector&);
00092 inline friend double operator%(const _dcovector&, const dcovector&);
00093
00094
00095 friend class dgematrix;
00096 friend class _dgematrix;
00097
00098
00099 friend class _dcovector;
00100 friend class drovector;
00101 friend class _drovector;
00102 };