debug
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Fri, 2 Oct 2020 12:51:24 +0000 (15:51 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Fri, 2 Oct 2020 12:51:24 +0000 (15:51 +0300)
- possible fix for the wrong vector allocation

src/corrtype.cpp

index 677ac1728f148d8b17404709119767b201b5228d..ecb6e3254ffceddb099702feed2b8c353957e070 100644 (file)
@@ -34,29 +34,21 @@ void correlationType::setDefaults(const std::vector< RVec > &ref, int wnd, int t
 }
 
 void correlationType::update(const int frameNum, const std::vector< RVec > &curFrame) {
-    std::cout << "\t ola001" << std::endl;
     trajectory.push_back(curFrame);
-    std::cout << "\t ola002" << std::endl;
     int temp = window + tau;
-    std::cout << "\t ola003" << std::endl;
     if (trajectory.size() == temp + 1) {
-        std::cout << "\t ola003.1" << std::endl;
         trajectory.erase(trajectory.begin());
-        std::cout << "\t ola003.2" << std::endl;
     }
-    std::cout << "\t ola004" << std::endl;
     if (mode == 1) {
-        std::cout << "\t ola005" << std::endl;
         if ( ((frameNum - temp + 1) >= 0) && ((frameNum - temp + 1) % tauStep == 0)) {
-            std::cout << "\t ola006" << std::endl;
+            std::cout << "\t ola001" << std::endl;
             correlationEval();
-            std::cout << "\t ola007" << std::endl;
+            std::cout << "\t ola002" << std::endl;
             selections.erase(selections.begin());
-            std::cout << "\t ola008" << std::endl;
             std::cout << "\n\t\tcorrEval successful\n" << std::endl;
         }
-        std::cout << "\t ola009" << std::endl;
     }
+    std::cout << "upd - end\n" << std::endl;
 }
 
 void correlationType::readEval() {
@@ -196,15 +188,23 @@ inline void correlationType::matrixNullFitting() {
 }
 
 void correlationType::correlationEval() {
+    std::cout << "\t ola001.1" << std::endl;
     trajectoryFitting();
+    std::cout << "\t ola001.2" << std::endl;
     matrixNullFitting();
-    std::vector< std::vector< double > > a, b, c;
-    std::vector< double > d;
-    d.resize(index.size(), 0.);
+    std::cout << "\t ola001.3" << std::endl;
     #pragma omp parallel for ordered schedule(dynamic) shared(matrixes) firstprivate(trajectory, reference)
     for (size_t i = 0; i <= static_cast< size_t >(tau); i++) {
-        a.resize(0); b.resize(0); c.resize(0);
-        a.resize(index.size(), d); b.resize(index.size(), d); c.resize(index.size(), d);
+        std::vector< std::vector< double > > a, b, c;
+        std::vector< double > d;
+        d.resize(index.size(), 0.);
+        a.resize(0);
+        b.resize(0);
+        c.resize(0);
+        a.resize(index.size(), d);
+        b.resize(index.size(), d);
+        c.resize(index.size(), d);
+        std::cout << "\tola001.4";
         for (size_t j {0}; j < static_cast< size_t >(window); j++) {
             for (size_t k1 {0}; k1 < index.size(); k1++) {
                 for (size_t k2 {0}; k2 < index.size(); k2++) {
@@ -228,8 +228,10 @@ void correlationType::correlationEval() {
                 matrixes[i][j][k] = a[j][k] / (std::sqrt(b[j][k] * c[j][k]));
             }
         }
+        std::cout << "\tola001.5";
     }
     #pragma omp barrier
+    std::cout << "\t ola001.6" << std::endl;
     for (size_t i {0}; i < matrixes.size(); i++) {
         for (size_t j {0}; j < matrixes[i].size(); j++) {
             for (size_t k {0}; k < matrixes[i][j].size(); k++) {
@@ -237,8 +239,10 @@ void correlationType::correlationEval() {
             }
         }
     }
+    std::cout << "\t ola001.7" << std::endl;
     readWriteCorrelations(1);
     count++;
+    std::cout << "\t ola001.8" << std::endl;
 }
 
 void correlationType::graphCalculations(size_t tauStart, size_t tauEnd) {