From 6a2c7197bc7328706c268b1870144b9de9fc5152 Mon Sep 17 00:00:00 2001 From: David Parsons <david.parsons@inria.fr> Date: Thu, 6 Apr 2023 15:38:04 +0200 Subject: [PATCH] pass ExpSetup to load_legacy --- src/libaevol/7/ExpManager_7.cpp | 13 +++++++------ src/libaevol/7/ExpManager_7.h | 3 ++- src/libaevol/legacy/ExpManager.cpp | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/libaevol/7/ExpManager_7.cpp b/src/libaevol/7/ExpManager_7.cpp index 094eb0469..3e6d76a5d 100644 --- a/src/libaevol/7/ExpManager_7.cpp +++ b/src/libaevol/7/ExpManager_7.cpp @@ -66,7 +66,8 @@ bool ExpManager_7::standalone_simd = true; -void ExpManager_7::load_legacy(ExpManager* exp_m, const World* world) { +void ExpManager_7::load_legacy(ExpManager* exp_m, const ExpSetup* exp_s, const World* world) { + assert(exp_s == exp_m->exp_s()); assert(world == exp_m->world()); printf(" Loading SIMD Controller..."); @@ -98,7 +99,7 @@ void ExpManager_7::load_legacy(ExpManager* exp_m, const World* world) { dna_factory_ = new DnaFactory(DnaFactory_Policy::ALLOCATE,exp_m_->nb_indivs()*3,max_size_dna,nb_indivs_); #endif - fuzzy_factory_ = new FuzzyFactory_7(exp_m_->exp_s()->get_fuzzy_flavor(),exp_m_->nb_indivs()*4, + fuzzy_factory_ = new FuzzyFactory_7(exp_s->get_fuzzy_flavor(),exp_m_->nb_indivs()*4, world->phenotypic_target_handler()->sampling(),nb_indivs_); for (int indiv_id = 0; indiv_id < exp_m_->nb_indivs(); indiv_id++) { @@ -152,12 +153,12 @@ fitness_at_border_[LEFT] = new double[exp_m_->world()->height()+2]; fitness_at_border_[RIGHT] = new double[exp_m_->world()->height()+2]; - global_grid_width_ = exp_m_->exp_s()->global_grid_width(); - global_grid_height_ = exp_m_->exp_s()->global_grid_height(); + global_grid_width_ = exp_s->global_grid_width(); + global_grid_height_ = exp_s->global_grid_height(); - rank_x_ = exp_m_->exp_s()->rank_width(); - rank_y_ = exp_m_->exp_s()->rank_height(); + rank_x_ = exp_s->rank_width(); + rank_y_ = exp_s->rank_height(); local_rank_x_ = exp_m_->rank() / rank_y_; local_rank_y_ = exp_m_->rank() % rank_y_; diff --git a/src/libaevol/7/ExpManager_7.h b/src/libaevol/7/ExpManager_7.h index 2e0a18c98..98e957d98 100644 --- a/src/libaevol/7/ExpManager_7.h +++ b/src/libaevol/7/ExpManager_7.h @@ -32,6 +32,7 @@ #include "Observable.h" #include "PhenotypicTargetHandler.h" #include "raevol/SIMD_PhenotypicTargetHandler_R.h" +#include "ExpSetup.h" #include "FuzzyFactory_7.h" #include "World.h" @@ -102,7 +103,7 @@ class ExpManager_7 : public Observable{ ExpManager_7() = default; ~ExpManager_7(); - void load_legacy(ExpManager* exp_m, const World* world); + void load_legacy(ExpManager* exp_m, const ExpSetup* exp_s, const World* world); void setup_individuals(double w_max, double selection_pressure); void run_a_step(double w_max, double selection_pressure); diff --git a/src/libaevol/legacy/ExpManager.cpp b/src/libaevol/legacy/ExpManager.cpp index 394ff64e9..48a4a63c3 100644 --- a/src/libaevol/legacy/ExpManager.cpp +++ b/src/libaevol/legacy/ExpManager.cpp @@ -642,7 +642,7 @@ void ExpManager::load(gzFile& exp_s_file, if (ExpManager_7::standalone_simd) { // if (to_be_run) { exp_m_7_ = new ExpManager_7; - exp_m_7_->load_legacy(this, this->world_); + exp_m_7_->load_legacy(this, this->exp_s_, this->world_); exp_m_7_->protein_grain_size = grain_size; exp_m_7_->rna_grain_size = grain_size; // } -- GitLab