-
Notifications
You must be signed in to change notification settings - Fork 0
/
mixed-grid-quorum.cc
executable file
·44 lines (32 loc) · 1.41 KB
/
mixed-grid-quorum.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// This file is part of Empirical, https://github.com/devosoft/Empirical
// Copyright (C) Michigan State University, 2016.
// Released under the MIT Software license; see doc/LICENSE
//
// This file demonstrates the functionality of QuorumOrganisms and their associated
// subsystems
// Empirical library includes
#include "evo/StatsManager.h"
#include "evo/EvoStats.h"
#include <sstream>
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
#include "quorum.cc"
#include "QSPop.h"
using QuorumDriverConfig = QuorumConfigBase;
// define the underlying population manager here
template <class QOrg>
using FOUNDATION = emp::evo::PopulationManager_Mixed_NoOverwrite<QOrg>;
int main (int argc, char * argv[]) {
std::string prefix;
auto conf = get_config<QuorumDriverConfig>(argc, argv, prefix);
auto state = QuorumRunState<FOUNDATION, QuorumDriverConfig>(*conf, prefix);
state.Qmapper = new emp::evo::StatsManager_Mapper<QM<FOUNDATION>>(state.Qpop,
conf->GRID_X(),
conf->GRID_Y(),
prefix + "quorum-map.csv");
state.Qpop->ConfigPop(conf->GRID_X(), conf->GRID_Y());
configure_stats_manager<FOUNDATION, QuorumDriverConfig>(state);
return execute<FOUNDATION, QuorumDriverConfig>(state);
}