37#ifndef PROGRAM_MUTATOR_H
38#define PROGRAM_MUTATOR_H
40#include "mutator/lineMutator.h"
41#include "mutator/mutationParameters.h"
42#include "program/line.h"
43#include "program/program.h"
50 namespace ProgramMutator {
The Program class contains a list of program lines that can be executed within a well defined Environ...
Definition: program.h:53
bool alterRandomLine(Program::Program &p, Mutator::RNG &rng)
Alter a randomly selected Line in a given Program.
Definition: programMutator.cpp:105
void insertRandomLine(Program::Program &p, Mutator::RNG &rng)
Insert a new Line at a randomly selected position within the given Program.
Definition: programMutator.cpp:81
bool alterRandomConstant(Program::Program &p, const MutationParameters ¶ms, Mutator::RNG &rng)
Alter a program's constant.
Definition: programMutator.cpp:117
void initRandomProgram(Program::Program &p, const MutationParameters ¶ms, Mutator::RNG &rng)
(Re)Initialize a program randomly.
Definition: programMutator.cpp:41
bool deleteRandomLine(Program::Program &p, Mutator::RNG &rng)
Deletes a randomly selected Line of the given Program.
Definition: programMutator.cpp:68
bool mutateProgram(Program::Program &p, const MutationParameters ¶ms, Mutator::RNG &rng)
Mutate the behavior of the Program with given probabilities.
Definition: programMutator.cpp:128
bool swapRandomLines(Program::Program &p, Mutator::RNG &rng)
Swap two randomly selected instructions within the given Program.
Definition: programMutator.cpp:89
Definition: deterministicRandom.h:44
Structure holding all parameters affecting stochastic mutations.
Definition: mutationParameters.h:198