Menu

[r31]: / trunk / include / _dgsmatrix- / _dgsmatrix.hpp  Maximize  Restore  History

Download this file

135 lines (110 with data), 6.5 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//=============================================================================
//! (DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
class _dgsmatrix
{
public:
//// objects ////
mutable long M; //!< matrix row size
mutable long N; //!< matrix column size
mutable long CAP; //!< the length of data arrays
mutable long VOL; //!< the number of non-zero components
mutable double* Array; //!< 1D array to store non-zero matrix data
mutable long* Indx; //!< 1D array to store the i-index of non-zero matrix components
mutable long* Jndx; //!< 1D array to store the j-index of non-zero matrix components
mutable std::vector< std::pair<long,long> >* Row; //!< array of vector to store the entry information of component for each row
mutable std::vector< std::pair<long,long> >* Col; //!< array of vector to store the entry information of component for each column
//// constructor ////
inline _dgsmatrix();
inline _dgsmatrix(const _dgsmatrix&);
inline ~_dgsmatrix(); //destructor
//// cast ////
inline operator _zssmatrix();
//// io ////
inline double operator()(const long&, const long&) const;
inline friend std::ostream& operator<<(std::ostream&, const _dgsmatrix&);
inline void write(const char *) const;
//// misc ////
inline void nullify() const;
inline void destroy() const;
//// calc ////
inline friend _dgsmatrix t(const dgsmatrix&);
inline friend void idamax(long&, long&, const dgsmatrix&);
inline friend double damax(const dgsmatrix&);
//// unary ////
inline friend const _dgsmatrix& operator+(const _dgsmatrix&);
inline friend _dgsmatrix operator-(const _dgsmatrix&);
//// + ////
inline friend _dgsmatrix operator+(const dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator+(const dgsmatrix&, const _dgsmatrix&);
inline friend _dgsmatrix operator+(const _dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator+(const _dgsmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const dgematrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const _dgematrix&);
inline friend _dgematrix operator+(const _dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const dgbmatrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator+(const _dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const dsymatrix&);
inline friend _dgematrix operator+(const _dgsmatrix&, const _dsymatrix&);
inline friend _dgematrix operator+(const _dsymatrix&, const _dgsmatrix&);
inline friend _dgematrix operator+(const dsymatrix&, const _dgsmatrix&);
//// - ////
inline friend _dgsmatrix operator-(const dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator-(const dgsmatrix&, const _dgsmatrix&);
inline friend _dgsmatrix operator-(const _dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator-(const _dgsmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const dgematrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const _dgematrix&);
inline friend _dgematrix operator-(const _dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const dgbmatrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator-(const _dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const dsymatrix&);
inline friend _dgematrix operator-(const _dgsmatrix&, const _dsymatrix&);
inline friend _dgematrix operator-(const _dsymatrix&, const _dgsmatrix&);
inline friend _dgematrix operator-(const dsymatrix&, const _dgsmatrix&);
//// * ////
inline friend _dgsmatrix operator*(const dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator*(const dgsmatrix&, const _dgsmatrix&);
inline friend _dgsmatrix operator*(const _dgsmatrix&, const dgsmatrix&);
inline friend _dgsmatrix operator*(const _dgsmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const dgematrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const _dgematrix&);
inline friend _dgematrix operator*(const _dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const dgematrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const dgbmatrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator*(const _dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const dgbmatrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const dsymatrix&);
inline friend _dgematrix operator*(const _dgsmatrix&, const _dsymatrix&);
inline friend _dgematrix operator*(const _dsymatrix&, const _dgsmatrix&);
inline friend _dgematrix operator*(const dsymatrix&, const _dgsmatrix&);
inline friend _dcovector operator*(const dgsmatrix&, const dcovector&);
inline friend _dcovector operator*(const dgsmatrix&, const _dcovector&);
inline friend _drovector operator*(const drovector&, const _dgsmatrix&);
inline friend _drovector operator*(const _drovector&, const _dgsmatrix&);
inline friend _dgsmatrix operator*(const dgsmatrix&, const double&);
inline friend _dgsmatrix operator*(const _dgsmatrix&, const double&);
inline friend _dgsmatrix operator*(const double&, const dgsmatrix&);
inline friend _dgsmatrix operator*(const double&, const _dgsmatrix&);
//// / ////
inline friend _dgsmatrix operator/(const dgsmatrix&, const double&);
inline friend _dgsmatrix operator/(const _dgsmatrix&, const double&);
//// friend classes ////
friend class dgematrix;
friend class _dgematrix;
friend class dgbmatrix;
friend class _dgbmatrix;
friend class dsymatrix;
friend class _dsymatrix;
friend class dgsmatrix;
friend class dcovector;
friend class _dcovector;
friend class drovector;
friend class _drovector;
};
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.