Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Example.cs @ 14875

Last change on this file since 14875 was 14875, checked in by pkimmesw, 7 years ago

#2665 BenchmarkSuite, all examples, partially tested, VectorExpressions added

File size: 4.4 KB
Line 
1namespace HeuristicLab.BenchmarkSuite {
2
3  using HeuristicLab.Common;
4  using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
5
6  [StorableClass]
7  public class Example : DeepCloneable {
8    private static readonly long[] emptyIntegers = new long[0];
9    private static readonly double[] emptyFloats = new double[0];
10    private static readonly bool[] emptyBooleans = new bool[0];
11    private static readonly char[] emptyChars = new char[0];
12    private static readonly string[] emptyStrings = new string[0];
13    private static readonly long[][] emptyIntegerVectors = new long[0][];
14    private static readonly double[][] emptyFloatVectors = new double[0][];
15    private static readonly bool[][] emptyBooleanVectors = new bool[0][];
16    private static readonly string[][] emptyStringVectors = new string[0][];
17
18
19    public Example() {
20      this.InputInteger = emptyIntegers;
21      InputFloat = emptyFloats;
22      InputBoolean = emptyBooleans;
23      InputChar = emptyChars;
24      InputString = emptyStrings;
25      InputIntegerVector = emptyIntegerVectors;
26      InputFloatVector = emptyFloatVectors;
27      InputBooleanVector = emptyBooleanVectors;
28      InputStringVector = emptyStringVectors;
29
30      this.OutputInteger = emptyIntegers;
31      OutputFloat = emptyFloats;
32      OutputBoolean = emptyBooleans;
33      OutputChar = emptyChars;
34      OutputString = emptyStrings;
35      OutputIntegerVector = emptyIntegerVectors;
36      OutputFloatVector = emptyFloatVectors;
37      OutputBooleanVector = emptyBooleanVectors;
38      OutputStringVector = emptyStringVectors;
39    }
40
41    public Example(Example origin, Cloner cloner) : base(origin, cloner) {
42      InputArgs = (string[])origin.InputArgs.Clone();
43      OutputArgs = (string[])origin.OutputArgs.Clone();
44
45      InputBoolean = (bool[])origin.InputBoolean.Clone();
46      InputInteger = (long[])origin.InputInteger.Clone();
47      InputFloat = (double[])origin.InputFloat.Clone();
48      InputChar = (char[])origin.InputChar.Clone();
49      InputString = (string[])origin.InputString.Clone();
50      InputIntegerVector = (long[][])origin.InputIntegerVector.Clone();
51      InputFloatVector = (double[][])origin.InputFloatVector.Clone();
52      InputBooleanVector = (bool[][])origin.InputBooleanVector.Clone();
53      InputStringVector = (string[][])origin.InputStringVector.Clone();
54
55      OutputBoolean = (bool[])origin.OutputBoolean.Clone();
56      this.OutputInteger = (long[])origin.OutputInteger.Clone();
57      OutputFloat = (double[])origin.OutputFloat.Clone();
58      OutputChar = (char[])origin.OutputChar.Clone();
59      OutputString = (string[])origin.OutputString.Clone();
60      OutputIntegerVector = (long[][])origin.OutputIntegerVector.Clone();
61      OutputFloatVector = (double[][])origin.OutputFloatVector.Clone();
62      OutputBooleanVector = (bool[][])origin.OutputBooleanVector.Clone();
63      OutputStringVector = (string[][])origin.OutputStringVector.Clone();
64    }
65
66    [StorableConstructor]
67    public Example(bool deserializing) { }
68
69    [Storable]
70    public string[] InputArgs { get; set; }
71    [Storable]
72    public string[] OutputArgs { get; set; }
73
74    [Storable]
75    public long[] InputInteger { get; set; }
76    [Storable]
77    public double[] InputFloat { get; set; }
78    [Storable]
79    public bool[] InputBoolean { get; set; }
80    [Storable]
81    public char[] InputChar { get; set; }
82    [Storable]
83    public string[] InputString { get; set; }
84    [Storable]
85    public long[][] InputIntegerVector { get; set; }
86    [Storable]
87    public double[][] InputFloatVector { get; set; }
88    [Storable]
89    public bool[][] InputBooleanVector { get; set; }
90    [Storable]
91    public string[][] InputStringVector { get; set; }
92
93    [Storable]
94    public long[] OutputInteger { get; set; }
95    [Storable]
96    public double[] OutputFloat { get; set; }
97    [Storable]
98    public bool[] OutputBoolean { get; set; }
99    [Storable]
100    public char[] OutputChar { get; set; }
101    [Storable]
102    public string[] OutputString { get; set; }
103    [Storable]
104    public long[][] OutputIntegerVector { get; set; }
105    [Storable]
106    public double[][] OutputFloatVector { get; set; }
107    [Storable]
108    public bool[][] OutputBooleanVector { get; set; }
109    [Storable]
110    public string[][] OutputStringVector { get; set; }
111
112    public override IDeepCloneable Clone(Cloner cloner) {
113      return new Example(this, cloner);
114    }
115  }
116}
Note: See TracBrowser for help on using the repository browser.