Changeset 4054 in Sophya for trunk/Eval
- Timestamp:
- Mar 17, 2012, 11:13:26 PM (14 years ago)
- Location:
- trunk/Eval/JET
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Eval/JET/makefile
r2798 r4054 1 1 include $(SOPHYABASE)/include/sophyamake.inc 2 2 3 all : tjet 4 echo 'makefile : tjet made'3 all : tjet telacc 4 echo 'makefile : tjet,telacc made' 5 5 6 6 clean : 7 rm tjet tjet.o smtx.o 7 rm tjet tjet.o smtx.o telacc telacc.o 8 8 9 9 tjet : tjet.o smtx.o … … 15 15 smtx.o : smtx.cc jet.h smtx.h 16 16 $(CXXCOMPILE) smtx.cc 17 18 #--------------------------------------------- 19 telacc : telacc.o 20 $(CXXLINK) -o telacc telacc.o $(SOPHYAEXTSLBLIST) 21 22 telacc.o : telacc.cc 23 $(CXXCOMPILE) -o telacc.o telacc.cc 24 # $(CXXCOMPILE) -g0 -O3 -o telacc.o telacc.cc -
trunk/Eval/JET/smtx.cc
r3257 r4054 17 17 template <class T> 18 18 SimpleMatrix<T>::SimpleMatrix() 19 : MtxSize(), JETExpression<T, JETExpMtx<T> >(), dbv_(&data_, this) 19 : MtxSize(), JETExpression<T, JETExpMtx<T> >(), dbv_(&data_, this), 20 data_p_(NULL) 20 21 { 21 22 this->Expression().JETExpMtxSet(&data_, this); … … 24 25 template <class T> 25 26 SimpleMatrix<T>::SimpleMatrix(sa_size_t nr, sa_size_t nc) 26 : MtxSize(nr, nc), JETExpression<T, JETExpMtx<T> >(), data_(nr*nc), dbv_(&data_, this) 27 : MtxSize(nr, nc), JETExpression<T, JETExpMtx<T> >(), data_(nr*nc), dbv_(&data_, this), 28 data_p_(data_.Begin()) 27 29 { 28 30 this->Expression().JETExpMtxSet(&data_, this); … … 31 33 template <class T> 32 34 SimpleMatrix<T>::SimpleMatrix(const SimpleMatrix & m) 33 : MtxSize(m), JETExpression<T, JETExpMtx<T> >(), data_(m.data_), dbv_(&data_, this) 35 : MtxSize(m), JETExpression<T, JETExpMtx<T> >(), data_(m.data_), dbv_(&data_, this), 36 data_p_(data_.Begin()) 34 37 { 35 38 this->Expression().JETExpMtxSet(&data_, this); … … 38 41 template <class T> 39 42 SimpleMatrix<T>::SimpleMatrix(const SimpleMatrix & m, bool share) 40 : MtxSize(m), JETExpression<T, JETExpMtx<T> >(dbv_), data_(m.data_, share), dbv_(&data_, this) 43 : MtxSize(m), JETExpression<T, JETExpMtx<T> >(dbv_), data_(m.data_, share), dbv_(&data_, this), 44 data_p_(data_.Begin()) 41 45 { 42 46 } … … 55 59 MtxSize::ReSize(a); 56 60 data_.Realloc(nrow_*ncol_); 61 data_p_=data_.Begin(); 57 62 return; 58 63 } … … 70 75 throw(SzMismatchError("SimpleMatrix::Set() Size(a) != Size(b)")); 71 76 data_ = b.data_; 77 data_p_=data_.Begin(); 72 78 return(*this); 73 79 } … … 88 94 throw RangeCheckError("SimpleMatrix<T>::Init(T c. T s) Size=0"); 89 95 for(sa_size_t k=0; k<nrow_*ncol_; k++) { 90 data_ (k)= c; c += step;96 data_p_[k] = c; c += step; 91 97 } 92 98 return(*this); -
trunk/Eval/JET/smtx.h
r2798 r4054 79 79 80 80 inline T operator()(int r, int c) const 81 { return data_ (r*ncol_+c); }81 { return data_p_[r*ncol_+c]; } 82 82 inline T& operator()(int r, int c) 83 { return data_ (r*ncol_+c); }83 { return data_p_[r*ncol_+c]; } 84 84 85 85 inline sa_size_t NRows() const {return nrow_; } … … 109 109 protected: 110 110 NDataBlock<T> data_; 111 T* data_p_; 111 112 JETExpMtx<T> dbv_; 112 113 }; -
trunk/Eval/JET/tjet.cc
r2939 r4054 20 20 // Test d'expression template sur tableaux 21 21 // Reza - Avril 2003 22 // revisite : Mars 2012 22 23 //-------------------------------------------------------- 23 24 … … 81 82 SimpleMatrix<r_8> m5(nrow, ncol); 82 83 for(k=0; k<N; k++) { 83 double xxr = frand01();84 double yyr = 2.* frand01();84 double xxr = drand01(); 85 double yyr = 2.*drand01(); 85 86 for(i=0; i<nrow; i++) 86 87 for(j=0; j<ncol; j++) { … … 95 96 // Calcul m1*c1 + m2*c2 + m3*c3; 96 97 for(k=0; k<N; k++) { 97 double c1 = frand01() + 1.2;98 double c2 = frand01() + 3.5;99 double c3 = frand01() + 6.7;98 double c1 = drand01() + 1.2; 99 double c2 = drand01() + 3.5; 100 double c3 = drand01() + 6.7; 100 101 m5 = m1; m5.MulCst(c1); 101 102 m4 = m2; m4.MulCst(c2); … … 108 109 109 110 for(k=0; k<N; k++) { 110 double c1 = frand01() + 1.2;111 double c2 = frand01() + 3.5;112 double c3 = frand01() + 6.7;111 double c1 = drand01() + 1.2; 112 double c2 = drand01() + 3.5; 113 double c3 = drand01() + 6.7; 113 114 m5 = m1*c1+m2*c2+m3*c3; 114 115 } … … 117 118 // Calcul m1*c1 + m1*(m2+c2) + m2*c3; 118 119 for(k=0; k<N; k++) { 119 double c1 = frand01() + 1.2;120 double c2 = frand01() + 3.5;121 double c3 = frand01() + 6.7;120 double c1 = drand01() + 1.2; 121 double c2 = drand01() + 3.5; 122 double c3 = drand01() + 6.7; 122 123 m3 = m1; m3.MulCst(c1); 123 124 m4 = m2; m4.AddCst(c2); m4.MulElt(m1); … … 129 130 130 131 for(k=0; k<N; k++) { 131 double c1 = frand01() + 1.2;132 double c2 = frand01() + 3.5;133 double c3 = frand01() + 6.7;132 double c1 = drand01() + 1.2; 133 double c2 = drand01() + 3.5; 134 double c3 = drand01() + 6.7; 134 135 // m4 = SMExprAdd< r_8, SMExprMtx<r_8>, SMExprMtx<r_8> >( SMExprMtx<r_8>(m1), SMExprMtx<r_8> (m2) ); 135 136 // Calcul m1*c1 + m1*(m2+c2) + m2*c3; … … 140 141 141 142 for(k=0; k<N; k++) { 142 double c1 = frand01() + 1.2;143 double c2 = frand01() + 3.5;144 double c3 = frand01() + 6.7;143 double c1 = drand01() + 1.2; 144 double c2 = drand01() + 3.5; 145 double c3 = drand01() + 6.7; 145 146 // Calcul m1*c1 + m1*(m2+c2) + m2*c3; 146 147 m5 = m1*c1 + m2 + c2*Sin(c3*m3+m1); … … 161 162 TMatrix<r_8> m5(nrow, ncol); 162 163 for(k=0; k<N; k++) { 163 double xxr = frand01();164 double yyr = 2.* frand01();164 double xxr = drand01(); 165 double yyr = 2.*drand01(); 165 166 for(i=0; i<nrow; i++) 166 167 for(j=0; j<ncol; j++) { … … 174 175 // Calcul m1*c1 + m2*c2 + m3*c3; 175 176 for(k=0; k<N; k++) { 176 double c1 = frand01() + 1.2;177 double c2 = frand01() + 3.5;178 double c3 = frand01() + 6.7;177 double c1 = drand01() + 1.2; 178 double c2 = drand01() + 3.5; 179 double c3 = drand01() + 6.7; 179 180 /* Changement interface SOPHYA : 2004-2005 180 181 m5 = m1; m5.Mul(c1); … … 194 195 195 196 for(k=0; k<N; k++) { 196 double c1 = frand01() + 1.2;197 double c2 = frand01() + 3.5;198 double c3 = frand01() + 6.7;197 double c1 = drand01() + 1.2; 198 double c2 = drand01() + 3.5; 199 double c3 = drand01() + 6.7; 199 200 m5 = m1*c1+m2*c2+m3*c3; 200 201 } … … 203 204 204 205 for(k=0; k<N; k++) { 205 double c1 = frand01() + 1.2;206 double c2 = frand01() + 3.5;207 double c3 = frand01() + 6.7;206 double c1 = drand01() + 1.2; 207 double c2 = drand01() + 3.5; 208 double c3 = drand01() + 6.7; 208 209 // Calcul m1*c1 + m1*(m2+c2) + m2*c3; 209 210 m5 = m1*c1 + m1 && (m2+c2) + m2*c3; … … 213 214 214 215 for(k=0; k<N; k++) { 215 double c1 = frand01() + 1.2;216 double c2 = frand01() + 3.5;217 double c3 = frand01() + 6.7;216 double c1 = drand01() + 1.2; 217 double c2 = drand01() + 3.5; 218 double c3 = drand01() + 6.7; 218 219 m5 = m1*c1 + m2 + c2*Sin(c3*m3+m1); 219 220 } … … 231 232 r_8 * m5 = new r_8[nrow*ncol]; 232 233 for(k=0; k<N; k++) { 233 double xxr = frand01();234 double yyr = 2.* frand01();234 double xxr = drand01(); 235 double yyr = 2.*drand01(); 235 236 for(i=0; i<nrow*ncol; i++) { 236 237 m1[i] = k*300+10.*i+j+xxr; … … 243 244 // Calcul m1*c1 + m2*c2 + m3*c3; 244 245 for(k=0; k<N; k++) { 245 double c1 = frand01() + 1.2;246 double c2 = frand01() + 3.5;247 double c3 = frand01() + 6.7;246 double c1 = drand01() + 1.2; 247 double c2 = drand01() + 3.5; 248 double c3 = drand01() + 6.7; 248 249 for(i=0; i<nrow*ncol; i++) 249 250 m5[i] = c1*m1[i]+c2*m2[i]+c3*m3[i];
Note:
See TracChangeset
for help on using the changeset viewer.