domainType testSubject;
std::vector< size_t > index;
std::vector< RVec > trajectory;
- std::vector< RVec > reference;
+ std::vector< std::vector< RVec > > reference;
std::vector< std::vector< RVec > > tsTemp;
Selection selec;
std::vector< std::vector< std::pair< size_t, size_t > > > fitPairs;
// считывание референсной структуры
reference.resize(0);
-
+ reference.resize(1);
+ reference.front().resize(0);
if (top.hasFullTopology()) {
for (const auto &i : index) {
- reference.push_back(top.x().at(i));
+ reference.front().push_back(top.x().at(i));
}
}
trajectory.resize(index.size());
// задание необходимых параметров для вычисления доменов
- testSubject.setDefaults(index, reference, window, domain_min_size, DomainSearchingAlgorythm, twStep, bone, epsi, delta, fnNdx_);
+ testSubject.setDefaults(index, reference.front(), window, domain_min_size, DomainSearchingAlgorythm, twStep, bone, epsi, delta, fnNdx_);
tsTemp.resize(0);
tsTemp.resize(bone);
for (auto &i : tsTemp) {
i.resize(index.size());
}
+ reference.resize(bone);
+ std::fill(reference.begin() + 1, reference.end(), reference.front());
}
void
std::fill(std::execution::seq, tsTemp.begin(), tsTemp.end(), trajectory);
// фитирование каждой копии
- #pragma omp parallel for ordered schedule(dynamic) firstprivate(reference)
+ #pragma omp parallel for ordered schedule(dynamic)
for (size_t i = 0; i < bone; ++i) {
- MyFitNew(reference, tsTemp[i], fitPairs[i], 0.000'001);
+ MyFitNew(reference[i], tsTemp[i], fitPairs[i], 0.000'001);
}
#pragma omp barrier