Free cookie consent management tool by TermsFeed Policy Generator

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

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

#2665 Run Hl General, Essential tests and applied fixes for errors

File size: 4.6 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    public Example() {
19      InputArgs = emptyStrings;
20      OutputArgs = emptyStrings;
21
22      InputInteger = emptyIntegers;
23      InputFloat = emptyFloats;
24      InputBoolean = emptyBooleans;
25      InputChar = emptyChars;
26      InputString = emptyStrings;
27      InputIntegerVector = emptyIntegerVectors;
28      InputFloatVector = emptyFloatVectors;
29      InputBooleanVector = emptyBooleanVectors;
30      InputStringVector = emptyStringVectors;
31
32      OutputInteger = emptyIntegers;
33      OutputFloat = emptyFloats;
34      OutputBoolean = emptyBooleans;
35      OutputChar = emptyChars;
36      OutputString = emptyStrings;
37      OutputIntegerVector = emptyIntegerVectors;
38      OutputFloatVector = emptyFloatVectors;
39      OutputBooleanVector = emptyBooleanVectors;
40      OutputStringVector = emptyStringVectors;
41      OutputPrint = string.Empty;
42    }
43
44    public Example(Example origin, Cloner cloner) : base(origin, cloner) {
45      InputArgs = (string[])origin.InputArgs.Clone();
46      OutputArgs = (string[])origin.OutputArgs.Clone();
47
48      InputBoolean = (bool[])origin.InputBoolean.Clone();
49      InputInteger = (long[])origin.InputInteger.Clone();
50      InputFloat = (double[])origin.InputFloat.Clone();
51      InputChar = (char[])origin.InputChar.Clone();
52      InputString = (string[])origin.InputString.Clone();
53      InputIntegerVector = (long[][])origin.InputIntegerVector.Clone();
54      InputFloatVector = (double[][])origin.InputFloatVector.Clone();
55      InputBooleanVector = (bool[][])origin.InputBooleanVector.Clone();
56      InputStringVector = (string[][])origin.InputStringVector.Clone();
57
58      OutputBoolean = (bool[])origin.OutputBoolean.Clone();
59      OutputInteger = (long[])origin.OutputInteger.Clone();
60      OutputFloat = (double[])origin.OutputFloat.Clone();
61      OutputChar = (char[])origin.OutputChar.Clone();
62      OutputString = (string[])origin.OutputString.Clone();
63      OutputIntegerVector = (long[][])origin.OutputIntegerVector.Clone();
64      OutputFloatVector = (double[][])origin.OutputFloatVector.Clone();
65      OutputBooleanVector = (bool[][])origin.OutputBooleanVector.Clone();
66      OutputStringVector = (string[][])origin.OutputStringVector.Clone();
67      OutputPrint = origin.OutputPrint;
68    }
69
70    [StorableConstructor]
71    public Example(bool deserializing) { }
72
73    [Storable]
74    public string[] InputArgs { get; set; }
75    [Storable]
76    public string[] OutputArgs { get; set; }
77
78    [Storable]
79    public long[] InputInteger { get; set; }
80    [Storable]
81    public double[] InputFloat { get; set; }
82    [Storable]
83    public bool[] InputBoolean { get; set; }
84    [Storable]
85    public char[] InputChar { get; set; }
86    [Storable]
87    public string[] InputString { get; set; }
88    [Storable]
89    public long[][] InputIntegerVector { get; set; }
90    [Storable]
91    public double[][] InputFloatVector { get; set; }
92    [Storable]
93    public bool[][] InputBooleanVector { get; set; }
94    [Storable]
95    public string[][] InputStringVector { get; set; }
96
97    [Storable]
98    public long[] OutputInteger { get; set; }
99    [Storable]
100    public double[] OutputFloat { get; set; }
101    [Storable]
102    public bool[] OutputBoolean { get; set; }
103    [Storable]
104    public char[] OutputChar { get; set; }
105    [Storable]
106    public string[] OutputString { get; set; }
107    [Storable]
108    public long[][] OutputIntegerVector { get; set; }
109    [Storable]
110    public double[][] OutputFloatVector { get; set; }
111    [Storable]
112    public bool[][] OutputBooleanVector { get; set; }
113    [Storable]
114    public string[][] OutputStringVector { get; set; }
115    [Storable]
116    public string OutputPrint { get; set; }
117
118    public override IDeepCloneable Clone(Cloner cloner) {
119      return new Example(this, cloner);
120    }
121  }
122}
Note: See TracBrowser for help on using the repository browser.