00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _math_scmat_matrix_i_h
00029 #define _math_scmat_matrix_i_h
00030 #ifdef __GNUC__
00031 #pragma interface
00032 #endif
00033
00034 #include <math/scmat/matrix.h>
00035
00036
00037
00038 #ifdef INLINE_FUNCTIONS
00039 #define INLINE inline
00040 #else
00041 #define INLINE
00042 #endif
00043
00044 namespace sc {
00045
00046
00047
00048
00049 INLINE
00050 SCMatrixdouble::SCMatrixdouble(SCMatrix*a,int b,int c):
00051 matrix(a),i(b),j(c)
00052 {
00053 }
00054 INLINE
00055 SCMatrixdouble::~SCMatrixdouble()
00056 {
00057 }
00058 INLINE double
00059 SCMatrixdouble::operator=(double a)
00060 {
00061 matrix.set_element(i,j,a);
00062 return a;
00063 }
00064 INLINE double
00065 SCMatrixdouble::operator=(const SCMatrixdouble& md)
00066 {
00067 double a = md.val();
00068 matrix.set_element(i,j,a);
00069 return a;
00070 }
00071 INLINE
00072 SCMatrixdouble::operator double()
00073 {
00074 return matrix.get_element(i,j);
00075 }
00076 INLINE double
00077 SCMatrixdouble::val() const
00078 {
00079 return matrix.get_element(i,j);
00080 }
00081
00082
00083
00084
00085 INLINE
00086 SymmSCMatrixdouble::SymmSCMatrixdouble(SymmSCMatrix*a,int b,int c):
00087 matrix(a),i(b),j(c)
00088 {
00089 }
00090 INLINE
00091 SymmSCMatrixdouble::~SymmSCMatrixdouble()
00092 {
00093 }
00094 INLINE double
00095 SymmSCMatrixdouble::operator=(double a)
00096 {
00097 matrix.set_element(i,j,a);
00098 return a;
00099 }
00100 INLINE double
00101 SymmSCMatrixdouble::operator=(const SymmSCMatrixdouble& md)
00102 {
00103 double a = md.val();
00104 matrix.set_element(i,j,a);
00105 return a;
00106 }
00107 INLINE
00108 SymmSCMatrixdouble::operator double()
00109 {
00110 return matrix.get_element(i,j);
00111 }
00112 INLINE double
00113 SymmSCMatrixdouble::val() const
00114 {
00115 return matrix.get_element(i,j);
00116 }
00117
00118
00119
00120
00121 INLINE
00122 DiagSCMatrixdouble::DiagSCMatrixdouble(DiagSCMatrix*a,int b,int c):
00123 matrix(a),i(b),j(c)
00124 {
00125 }
00126 INLINE
00127 DiagSCMatrixdouble::~DiagSCMatrixdouble()
00128 {
00129 }
00130 INLINE double
00131 DiagSCMatrixdouble::operator=(double a)
00132 {
00133 matrix.set_element(i,a);
00134 return a;
00135 }
00136 INLINE double
00137 DiagSCMatrixdouble::operator=(const DiagSCMatrixdouble& md)
00138 {
00139 double a = md.val();
00140 matrix.set_element(i,a);
00141 return a;
00142 }
00143 INLINE
00144 DiagSCMatrixdouble::operator double()
00145 {
00146 return matrix.get_element(i);
00147 }
00148 INLINE double
00149 DiagSCMatrixdouble::val() const
00150 {
00151 return matrix.get_element(i);
00152 }
00153
00154
00155
00156
00157 INLINE
00158 SCVectordouble::SCVectordouble(SCVector*a,int b):
00159 vector(a),i(b)
00160 {
00161 }
00162 INLINE
00163 SCVectordouble::~SCVectordouble()
00164 {
00165 }
00166 INLINE double
00167 SCVectordouble::operator=(double a)
00168 {
00169 vector.set_element(i,a);
00170 return a;
00171 }
00172 INLINE double
00173 SCVectordouble::operator=(const SCVectordouble& vd)
00174 {
00175 double a = vd.val();
00176 vector.set_element(i,a);
00177 return a;
00178 }
00179 INLINE
00180 SCVectordouble::operator double()
00181 {
00182 return vector.get_element(i);
00183 }
00184 INLINE double
00185 SCVectordouble::val() const
00186 {
00187 return vector.get_element(i);
00188 }
00189
00190 }
00191
00192 #undef INLINE
00193
00194 #endif
00195
00196
00197
00198
00199