[yul-phaser] Chromosome: Add a constructor that reads steps from an abbreviation string

This commit is contained in:
Kamil Śliwak
2020-02-18 19:38:55 +01:00
parent 38f79a1761
commit d22c59aa0e
4 changed files with 41 additions and 6 deletions
+6
View File
@@ -36,6 +36,12 @@ ostream& operator<<(ostream& _stream, Chromosome const& _chromosome);
}
Chromosome::Chromosome(string const& _optimisationSteps)
{
for (char abbreviation: _optimisationSteps)
m_optimisationSteps.push_back(OptimiserSuite::stepAbbreviationToNameMap().at(abbreviation));
}
Chromosome Chromosome::makeRandom(size_t _length)
{
vector<string> steps;
+1
View File
@@ -42,6 +42,7 @@ public:
Chromosome() = default;
explicit Chromosome(std::vector<std::string> _optimisationSteps):
m_optimisationSteps(std::move(_optimisationSteps)) {}
explicit Chromosome(std::string const& _optimisationSteps);
static Chromosome makeRandom(size_t _length);
size_t length() const { return m_optimisationSteps.size(); }