Changes in src/World.cpp [dc11c9:3839e5]
- File:
-
- 1 edited
-
src/World.cpp (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/World.cpp
rdc11c9 r3839e5 85 85 86 86 void World::setDomain(const Matrix &mat){ 87 OBSERVE;88 87 *cell_size = mat; 89 88 } … … 91 90 void World::setDomain(double * matrix) 92 91 { 93 OBSERVE;94 92 Matrix M = ReturnFullMatrixforSymmetric(matrix); 95 93 cell_size->setM(M); … … 102 100 void World::setDefaultName(std::string name) 103 101 { 104 OBSERVE;105 102 defaultName = name; 106 103 }; … … 234 231 atomIdPool_t::iterator iter=atomIdPool.begin(); 235 232 atomId_t id = iter->first; 236 range<atomId_t> newRange = makeRange(id+1,iter->last);233 pair<atomId_t,atomId_t> newRange = make_pair(id+1,iter->second); 237 234 // we wont use this iterator anymore, so we don't care about invalidating 238 235 atomIdPool.erase(iter); 239 if(newRange.first<newRange. last){236 if(newRange.first<newRange.second){ 240 237 atomIdPool.insert(newRange); 241 238 } … … 247 244 248 245 void World::releaseAtomId(atomId_t id){ 249 atomIdPool.insert(make Range(id,id+1));246 atomIdPool.insert(make_pair(id,id+1)); 250 247 defragAtomIdPool(); 251 248 } … … 253 250 bool World::reserveAtomId(atomId_t id){ 254 251 if(id>=currAtomId ){ 255 range<atomId_t> newRange = makeRange(currAtomId,id);256 if(newRange.first<newRange. last){252 pair<atomId_t,atomId_t> newRange = make_pair(currAtomId,id); 253 if(newRange.first<newRange.second){ 257 254 atomIdPool.insert(newRange); 258 255 } … … 263 260 // look for a range that matches the request 264 261 for(atomIdPool_t::iterator iter=atomIdPool.begin();iter!=atomIdPool.end();++iter){ 265 if(iter-> isBefore(id)){266 // we have cover ed all available ranges... nothing to be found here262 if(iter->first>id){ 263 // we have coverd all available ranges... nothing to be found here 267 264 break; 268 265 } 269 266 // no need to check first, since it has to be <=id, since otherwise we would have broken out 270 if( !iter->isBeyond(id)){267 if(iter->second > id){ 271 268 // we found a matching range... get the id from this range 272 269 273 270 // split up this range at the point of id 274 range<atomId_t> bottomRange = makeRange(iter->first,id);275 range<atomId_t> topRange = makeRange(id+1,iter->last);271 pair<atomId_t,atomId_t> bottomRange = make_pair(iter->first,id); 272 pair<atomId_t,atomId_t> topRange = make_pair(id+1,iter->second); 276 273 // remove this range 277 274 atomIdPool.erase(iter); 278 if(bottomRange.first<bottomRange. last){275 if(bottomRange.first<bottomRange.second){ 279 276 atomIdPool.insert(bottomRange); 280 277 } 281 if(topRange.first<topRange. last){278 if(topRange.first<topRange.second){ 282 279 atomIdPool.insert(topRange); 283 280 } … … 301 298 atomIdPool_t::iterator next = iter; 302 299 next++; 303 if(next!=atomIdPool.end() && (next->first==iter-> last)){300 if(next!=atomIdPool.end() && (next->first==iter->second)){ 304 301 // merge the two ranges 305 range<atomId_t> newRange = makeRange(iter->first,next->last);302 pair<atomId_t,atomId_t> newRange = make_pair(iter->first,next->second); 306 303 atomIdPool.erase(iter); 307 304 atomIdPool.erase(next); … … 317 314 atomIdPool_t::iterator iter = atomIdPool.end(); 318 315 iter--; 319 if(iter-> last==currAtomId){316 if(iter->second==currAtomId){ 320 317 currAtomId=iter->first; 321 318 atomIdPool.erase(iter); … … 333 330 moleculeIdPool_t::iterator iter=moleculeIdPool.begin(); 334 331 moleculeId_t id = iter->first; 335 range<moleculeId_t> newRange = makeRange(id+1,iter->last);332 pair<moleculeId_t,moleculeId_t> newRange = make_pair(id+1,iter->second); 336 333 // we wont use this iterator anymore, so we don't care about invalidating 337 334 moleculeIdPool.erase(iter); 338 if(newRange.first<newRange. last){335 if(newRange.first<newRange.second){ 339 336 moleculeIdPool.insert(newRange); 340 337 } … … 346 343 347 344 void World::releaseMoleculeId(moleculeId_t id){ 348 moleculeIdPool.insert(make Range(id,id+1));345 moleculeIdPool.insert(make_pair(id,id+1)); 349 346 defragMoleculeIdPool(); 350 347 } … … 352 349 bool World::reserveMoleculeId(moleculeId_t id){ 353 350 if(id>=currMoleculeId ){ 354 range<moleculeId_t> newRange = makeRange(currMoleculeId,id);355 if(newRange.first<newRange. last){351 pair<moleculeId_t,moleculeId_t> newRange = make_pair(currMoleculeId,id); 352 if(newRange.first<newRange.second){ 356 353 moleculeIdPool.insert(newRange); 357 354 } … … 362 359 // look for a range that matches the request 363 360 for(moleculeIdPool_t::iterator iter=moleculeIdPool.begin();iter!=moleculeIdPool.end();++iter){ 364 if(iter-> isBefore(id)){361 if(iter->first>id){ 365 362 // we have coverd all available ranges... nothing to be found here 366 363 break; 367 364 } 368 365 // no need to check first, since it has to be <=id, since otherwise we would have broken out 369 if( !iter->isBeyond(id)){366 if(iter->second > id){ 370 367 // we found a matching range... get the id from this range 371 368 372 369 // split up this range at the point of id 373 range<moleculeId_t> bottomRange = makeRange(iter->first,id);374 range<moleculeId_t> topRange = makeRange(id+1,iter->last);370 pair<moleculeId_t,moleculeId_t> bottomRange = make_pair(iter->first,id); 371 pair<moleculeId_t,moleculeId_t> topRange = make_pair(id+1,iter->second); 375 372 // remove this range 376 373 moleculeIdPool.erase(iter); 377 if(bottomRange.first<bottomRange. last){374 if(bottomRange.first<bottomRange.second){ 378 375 moleculeIdPool.insert(bottomRange); 379 376 } 380 if(topRange.first<topRange. last){377 if(topRange.first<topRange.second){ 381 378 moleculeIdPool.insert(topRange); 382 379 } … … 400 397 moleculeIdPool_t::iterator next = iter; 401 398 next++; 402 if(next!=moleculeIdPool.end() && (next->first==iter-> last)){399 if(next!=moleculeIdPool.end() && (next->first==iter->second)){ 403 400 // merge the two ranges 404 range<moleculeId_t> newRange = makeRange(iter->first,next->last);401 pair<moleculeId_t,moleculeId_t> newRange = make_pair(iter->first,next->second); 405 402 moleculeIdPool.erase(iter); 406 403 moleculeIdPool.erase(next); … … 416 413 moleculeIdPool_t::iterator iter = moleculeIdPool.end(); 417 414 iter--; 418 if(iter-> last==currMoleculeId){415 if(iter->second==currMoleculeId){ 419 416 currMoleculeId=iter->first; 420 417 moleculeIdPool.erase(iter);
Note:
See TracChangeset
for help on using the changeset viewer.
