Changeset 3683 in Sophya for trunk/AddOn/TAcq/racqumem.cc
- Timestamp:
- Nov 27, 2009, 11:32:46 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/racqumem.cc
r3671 r3683 1 1 #include "racqumem.h" 2 3 using namespace SOPHYA; 2 4 3 5 //---------------------------------------------------------------- … … 29 31 st.act = (uint_4)MemZA_None; 30 32 st.stat = (uint_4)MemZS_Free; 31 for(int k=0; k< 6; k++) st.nbact[k] = 0;33 for(int k=0; k<MXNACTMZM; k++) st.nbact[k] = 0; 32 34 uint_8 mzsz = nfibres*npaq*paqsz; 33 35 uint_8 procmzsz = nfibres*npaq*procpaqsz; … … 40 42 serial_ = 0; 41 43 SetFinalizedMask(); 44 SetProcSavedReadyMask(); 42 45 } 43 46 … … 122 125 if (rid >= 0) states[rid].act = MemZA_ProcC; 123 126 break; 127 case MemZA_ProcD: 128 for(uint_4 k=0; k<NbZones(); k++) { 129 if ((states[k].act == MemZA_None) && (states[k].stat & MemZS_Filled) && 130 (states[k].stat & MemZS_ProcC) && !(states[k].stat & MemZS_ProcD) ) { 131 if (states[k].serial < bestserial) { rid=k; bestserial=states[k].serial; } 132 } 133 } 134 if (rid >= 0) states[rid].act = MemZA_ProcD; 135 break; 136 case MemZA_ProcE: 137 for(uint_4 k=0; k<NbZones(); k++) { 138 if ((states[k].act == MemZA_None) && (states[k].stat & MemZS_Filled) && 139 (states[k].stat & MemZS_ProcD) && !(states[k].stat & MemZS_ProcE) ) { 140 if (states[k].serial < bestserial) { rid=k; bestserial=states[k].serial; } 141 } 142 } 143 if (rid >= 0) states[rid].act = MemZA_ProcE; 144 break; 145 case MemZA_ProcF: 146 for(uint_4 k=0; k<NbZones(); k++) { 147 if ((states[k].act == MemZA_None) && (states[k].stat & MemZS_Filled) && 148 (states[k].stat & MemZS_ProcE) && !(states[k].stat & MemZS_ProcF) ) { 149 if (states[k].serial < bestserial) { rid=k; bestserial=states[k].serial; } 150 } 151 } 152 if (rid >= 0) states[rid].act = MemZA_ProcF; 153 break; 154 case MemZA_SaveProc: 155 for(uint_4 k=0; k<NbZones(); k++) { 156 if ((states[k].act == MemZA_None) && 157 (states[k].stat & mask_saveproc_ready_) && !(states[k].stat & MemZS_SavedProc) ) { 158 if (states[k].serial < bestserial) { rid=k; bestserial=states[k].serial; } 159 } 160 } 161 if (rid >= 0) states[rid].act = MemZA_SaveProc; 162 break; 124 163 case MemZA_None: // MTQ pour supprimer un warning 125 164 break; … … 177 216 case MemZS_ProcC : 178 217 if (states[id].act != MemZA_ProcC) rc = 64; 179 else states[id].nbact[ 4]++;218 else states[id].nbact[5]++; 180 219 states[id].stat |= MemZS_ProcC; 181 220 states[id].act = MemZA_None; 182 221 break; 222 case MemZS_ProcD : 223 if (states[id].act != MemZA_ProcD) rc = 128; 224 else states[id].nbact[6]++; 225 states[id].stat |= MemZS_ProcD; 226 states[id].act = MemZA_None; 227 break; 228 case MemZS_ProcE : 229 if (states[id].act != MemZA_ProcE) rc = 256; 230 else states[id].nbact[7]++; 231 states[id].stat |= MemZS_ProcE; 232 states[id].act = MemZA_None; 233 break; 234 case MemZS_ProcF : 235 if (states[id].act != MemZA_ProcF) rc = 512; 236 else states[id].nbact[8]++; 237 states[id].stat |= MemZS_ProcF; 238 states[id].act = MemZA_None; 239 break; 240 case MemZS_SavedProc : 241 if (states[id].act != MemZA_SaveProc) rc = 1024; 242 else states[id].nbact[9]++; 243 states[id].stat |= MemZS_ProcF; 244 states[id].act = MemZA_None; 245 break; 183 246 default : 184 rc = 128;247 rc = 65536; 185 248 states[id].serial = 0; 186 249 states[id].stat = MemZS_Free; … … 193 256 } 194 257 195 /* MIS en inline196 Byte* RAcqMemZoneMgr::GetMemZone(int id)197 {198 if ((id < 0) || (id >= memzones.size())) return NULL;199 return memzones[id];200 }201 */202 258 ostream& RAcqMemZoneMgr::Print(ostream& os) 203 259 { … … 208 264 << " ProcZoneSize()=" << ProcZoneSize() << endl; 209 265 else cout << " ... NO Processed Data Zones" << endl; 210 for(uint_4 k=0; k<states.size(); k++) 266 for(uint_4 k=0; k<states.size(); k++) { 211 267 os << " [" << k << "] Act=" << states[k].act << " Stat=" << states[k].stat 212 << " NbAct[0..5]=" << states[k].nbact[0] << "," << states[k].nbact[1] 213 << "," << states[k].nbact[2] << "," << states[k].nbact[3] 214 << "," << states[k].nbact[4] << "," << states[k].nbact[5] << endl; 268 << " NbAct[0.."<< MXNACTMZM-1 << "]=" << states[k].nbact[0]; 269 for(uint_4 j=1; j<MXNACTMZM; j++) cout << "," << states[k].nbact[j]; 270 cout << endl; 271 } 215 272 return os; 216 273 }
Note:
See TracChangeset
for help on using the changeset viewer.