Changeset 3264 in Sophya for trunk/SophyaProg
- Timestamp:
- Jun 11, 2007, 9:47:11 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaProg/Tests/zthr.cc
r3263 r3264 102 102 ztarg * za = (ztarg *)arg; 103 103 sa_size_t vsz = za->M*za->M; 104 105 cout << ">>>> arrdl-funzt(ThId=" << za->thid << " VecSz=M*M " << vsz 106 << " V2=DLO4(V1) , NOp ~= 10*vsz=" << 10*vsz << endl; 104 sa_size_t EXS = 10; 105 106 cout << ">>>> arrdl-funzt(ThId=" << za->thid << " DataBlock_Sz=M*M " << vsz 107 << " V2=DLO4(V1) , NOp ~= 10*10*vsz=" << 10*EXS*vsz << endl; 107 108 108 109 TVector<r_8> v1(vsz), v2(vsz); 109 v1 = RegularSequence(1.,0.001); 110 TVector<r_8> coeff(EXS); 111 coeff = RandomSequence(); 112 // v1 = RegularSequence(1.,0.001); --- ATTENTION , couteux en temps 113 // NDataBlock<r_8> v1(vsz, false), v2(vsz, false); 114 for(sa_size_t i=0; i<vsz; i++) v1(i) = i*0.001; 110 115 char buff[128]; 111 116 sprintf(buff, "arrdl-funzt(ThId=%d) EndOfInit", za->thid); 112 117 PrtTim(buff); 113 for(sa_size_t i=0; i<vsz; i++) { 114 double x = v1(i); 115 v2(i) = x*(1+x*(x/2.+x*(x/6.+x*x/24.))); 118 119 double c2 = 0.5; 120 double c3 = 1./6.; 121 double c4 = 1./24; 122 for(sa_size_t k=0; k<EXS; k++) { 123 for(sa_size_t i=0; i<vsz; i++) { 124 register double x = v1(i)*coeff(k); 125 v2(i) = x*(1+x*(x*c2+x*(x*c3+x*x*c4))); 126 } 116 127 } 117 128 sprintf(buff, "arrdl-funzt(ThId=%d) EndOfOper", za->thid); … … 126 137 127 138 cout << ">>>> arrmf-funzt(ThId=" << za->thid << " VecSz=M*M " << vsz 128 << " V2=Sin(V1) , NOp ~= 10*vsz=" << 10*vsz << endl;139 << " V2=Sin(V1) , NOp ~= 50*vsz=" << 50*vsz << endl; 129 140 130 141 TVector<r_8> v1(vsz), v2(vsz); 131 v1 = RegularSequence(1.,0.001); 132 char buff[128]; 133 sprintf(buff, "arrmf-funzt(ThId=%d) EndOfInit", za->thid); 134 PrtTim(buff); 142 //-- v1 = RegularSequence(1.,0.001); COUTEUX en TCPU 143 for(sa_size_t i=0; i<vsz; i++) v1(i) = i*0.001; 144 char buff[128]; 145 sprintf(buff, "arrmf-funzt(ThId=%d) EndOfInit", za->thid); 146 PrtTim(buff); 147 135 148 v2 = Sin(v1); 136 149 v2 += Cos(v1); 137 150 sprintf(buff, "arrmf-funzt(ThId=%d) EndOfOper", za->thid); 138 151 PrtTim(buff);
Note:
See TracChangeset
for help on using the changeset viewer.