- changed back to how it was, everything was ok master
authorAnatoly Titov <wapukcobaka@gmail.com>
Thu, 13 Jan 2022 12:48:43 +0000 (15:48 +0300)
committerAnatoly Titov <wapukcobaka@gmail.com>
Thu, 13 Jan 2022 12:48:43 +0000 (15:48 +0300)
- changed omp thing

src/domaintype.cpp

index a0bb05aa38ff01b94131cf38edf4265621fe2848..9c74e1fc6518c482c03ed30a85310fe0cf00c38c 100644 (file)
@@ -51,47 +51,18 @@ void domainType::update(const std::vector< std::vector< RVec > > &frame, const i
         }
     }
     // заполняем матрицы данных для структурных доменов для всех текущих "окон"
-    /*for (auto &i : graph) {
-        #pragma omp parallel for
-        for (size_t j = 0; j < i.size(); ++j) {
-            for (size_t k1 {0}; k1 < i[j].size(); ++k1) {
-                for (size_t k2 {k1}; k2 < i[j].size(); ++k2) {
-                    if ((frame[j][k1] - frame[j][k2] - refTable[k1][k2]).norm() <= static_cast< float >(eps)) {
-                        if (k1 != k2) {
-                            ++i[j][k1][k2].num;
-                            ++i[j][k2][k1].num;
-                        } else {
-                            ++i[j][k1][k2].num;
-                        }
-                    }
-                }
-            }
-        }
-        #pragma omp barrier
-    }*/
-    std::vector< std::vector< std::vector< bool > > > ifGraph;
-    ifGraph.resize(graph.size());
-    for (size_t i {0}; i < ifGraph.size(); ++i) {
-        ifGraph[i].resize(0);
-        ifGraph[i].resize(graph[i].size());
-        for (size_t j {0}; j < ifGraph[i].size(); ++j) {
-            ifGraph[i][j].resize(0);
-            ifGraph[i][j].resize(graph[i][j].size(), true);
-        }
-    }
-
+    // рабочие окна -> рассматриваемые основные последовательности -> матрица соотношений в структуре всё на всё
     #pragma omp parallel for
     for (size_t i = 0; i < graph.size(); ++i) {
-        for (size_t j {0}; j < frame.size(); ++j) {
-            for (size_t k1 {0}; k1 < frame[j].size(); ++k1) {
-                for (size_t k2 {k1}; k2 < frame[j].size(); ++k2) {
-                    if ((frame[j][k1] - frame[j][k2] - refTable[k1][k2]).norm() <= static_cast< float >(eps) && ifGraph[i][k1][k2]) {
-                        ifGraph[i][k1][k2] = false;
+        for (size_t j = 0; j < graph[i].size(); ++j) {
+            for (size_t k1 {0}; k1 < graph[i][j].size(); ++k1) {
+                for (size_t k2 {k1}; k2 < graph[i][j].size(); ++k2) {
+                    if ((frame[j][k1] - frame[j][k2] - refTable[k1][k2]).norm() <= static_cast< float >(eps)) {
                         if (k1 != k2) {
-                            ++i[j][k1][k2].num;
-                            ++i[j][k2][k1].num;
+                            ++graph[i][j][k1][k2].num;
+                            ++graph[i][j][k2][k1].num;
                         } else {
-                            ++i[j][k1][k2].num;
+                            ++graph[i][j][k1][k2].num;
                         }
                     }
                 }