namespace HeuristicLab.Problems.ProgramSynthesis.Push.Solution.BenchmarkSuite { using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration; using HeuristicLab.Problems.ProgramSynthesis.Push.Evaluator; using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions; [StorableClass] public class PushBenchmarkSuiteSolution : PushSolution { public PushBenchmarkSuiteSolution( PushProgram program, double quality, IRandom random, IReadOnlyPushConfiguration config, PushBenchmarkSuiteEvaluator evaluator, bool simplify = false) : base(program, quality, random, config, evaluator, simplify) { } public PushBenchmarkSuiteSolution(PushBenchmarkSuiteSolution origin, Cloner cloner) : base(origin, cloner) { } [StorableConstructor] public PushBenchmarkSuiteSolution(bool deserializing) : base(deserializing) { } public override PushSolution Simplify() { return new PushBenchmarkSuiteSolution(Program, Quality, Random, Config, (PushBenchmarkSuiteEvaluator)Evaluator, true); } public override IDeepCloneable Clone(Cloner cloner) { return new PushBenchmarkSuiteSolution(this, cloner); } } }