ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/DataStorage.cpp
(Generate patch)

Comparing trunk/src/brains/DataStorage.cpp (file contents):
Revision 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 2069 by gezelter, Thu Mar 5 16:30:23 2015 UTC

# Line 55 | Line 55 | namespace OpenMD {
55  
56    }
57  
58 <  DataStorage::DataStorage(int size, int storageLayout) : size_(size){
58 >  DataStorage::DataStorage(std::size_t size, int storageLayout) : size_(size){
59      setStorageLayout(storageLayout);
60      resize(size);
61    }
62  
63 <  int DataStorage::getSize() {
63 >  std::size_t DataStorage::getSize() {
64  
65      if (storageLayout_ & dslPosition && position.size() != size_) {
66        //error
# Line 146 | Line 146 | namespace OpenMD {
146        //error
147        cerr << "size does not match"<< endl;        
148      }
149 +
150 +    if (storageLayout_ & dslSitePotential && sitePotential.size() != size_) {
151 +      //error
152 +      cerr << "size does not match"<< endl;        
153 +    }
154      
155      return size_;
156  
157    }
158  
159 <  void DataStorage::resize(int newSize) {
159 >  void DataStorage::resize(std::size_t newSize) {
160  
161      if (storageLayout_ & dslPosition) {
162        internalResize(position, newSize);
# Line 221 | Line 226 | namespace OpenMD {
226        internalResize(flucQFrc, newSize);
227      }
228  
229 +    if (storageLayout_ & dslSitePotential) {
230 +      internalResize(sitePotential, newSize);
231 +    }
232 +
233      size_ = newSize;
234    }
235  
236 <  void DataStorage::reserve(int size) {
236 >  void DataStorage::reserve(std::size_t size) {
237      if (storageLayout_ & dslPosition) {
238        position.reserve(size);
239      }
# Line 292 | Line 301 | namespace OpenMD {
301      if (storageLayout_ & dslFlucQForce) {
302        flucQFrc.reserve(size);
303      }
304 +
305 +    if (storageLayout_ & dslSitePotential) {
306 +      sitePotential.reserve(size);
307 +    }
308    }
309  
310 <  void DataStorage::copy(int source, int num, int target) {
310 >  void DataStorage::copy(int source, std::size_t num, std::size_t target) {
311      if (num + target > size_ ) {
312        //error
313      }
# Line 365 | Line 378 | namespace OpenMD {
378      if (storageLayout_ & dslFlucQForce) {
379        internalCopy(flucQFrc, source, num, target);
380      }
381 +
382 +    if (storageLayout_ & dslSitePotential) {
383 +      internalCopy(sitePotential, source, num, target);
384 +    }
385    }
386  
387    int DataStorage::getStorageLayout() {
# Line 430 | Line 447 | namespace OpenMD {
447      case dslFlucQForce:
448        return internalGetArrayPointer(flucQFrc);
449            
450 +    case dslSitePotential:
451 +      return internalGetArrayPointer(sitePotential);
452 +          
453      default:
454        //error message
455        return NULL;
# Line 463 | Line 483 | namespace OpenMD {
483    }    
484  
485    template<typename T>
486 <  void DataStorage::internalResize(std::vector<T>& v, int newSize){
487 <    int oldSize = v.size();
486 >  void DataStorage::internalResize(std::vector<T>& v, std::size_t newSize){
487 >    std::size_t oldSize = v.size();
488  
489      if (oldSize == newSize) {
490        return;
# Line 479 | Line 499 | namespace OpenMD {
499    }
500  
501    template<typename T>
502 <  void DataStorage::internalCopy(std::vector<T>& v, int source,  int num, int target) {
502 >  void DataStorage::internalCopy(std::vector<T>& v, int source,
503 >                                 std::size_t num, std::size_t target) {
504      typename std::vector<T>::iterator first;
505      typename std::vector<T>::iterator last;
506      typename std::vector<T>::iterator result;
# Line 496 | Line 517 | namespace OpenMD {
517      std::copy(first, last, result);
518    }
519  
520 <  int DataStorage::getBytesPerStuntDouble(int layout) {
521 <    int bytes = 0;
520 >  std::size_t DataStorage::getBytesPerStuntDouble(int layout) {
521 >    std::size_t  bytes = 0;
522      if (layout & dslPosition) {
523        bytes += sizeof(Vector3d);
524      }
# Line 549 | Line 570 | namespace OpenMD {
570      if (layout & dslFlucQForce) {
571        bytes += sizeof(RealType);
572      }
573 +    if (layout & dslSitePotential) {
574 +      bytes += sizeof(RealType);
575 +    }
576  
577      return bytes;
578    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines