1 | using System;
|
---|
2 | using System.Collections.Generic;
|
---|
3 |
|
---|
4 | namespace HeuristicLab.BenchmarkSuite {
|
---|
5 |
|
---|
6 | using HeuristicLab.BenchmarkSuite.Problems;
|
---|
7 | using HeuristicLab.Problems.Instances;
|
---|
8 |
|
---|
9 | public class BenchmarkSuiteInstanceProvider : ProblemInstanceProvider<IBenchmarkSuiteDataDescriptor> {
|
---|
10 | private const string name = "General Program Synthesis Benchmark Suite";
|
---|
11 | private const string referencePublication =
|
---|
12 | "T. Helmuth and L. Spector, \"Detailed Problem Descriptions for General Program Synthesis Benchmark Suite\", Technical Report UM-CS-2015-006, School of Computer Science, University of Massachusetts Amherst, 2015.";
|
---|
13 | private static readonly Uri webLink = new Uri("https://web.cs.umass.edu/publication/docs/2015/UM-CS-2015-006.pdf");
|
---|
14 |
|
---|
15 | public override string Name
|
---|
16 | {
|
---|
17 | get { return name; }
|
---|
18 | }
|
---|
19 |
|
---|
20 | public override string Description
|
---|
21 | {
|
---|
22 | get { return ""; }
|
---|
23 | }
|
---|
24 |
|
---|
25 | public override Uri WebLink
|
---|
26 | {
|
---|
27 | get { return webLink; }
|
---|
28 | }
|
---|
29 |
|
---|
30 | public override string ReferencePublication
|
---|
31 | {
|
---|
32 | get { return referencePublication; }
|
---|
33 | }
|
---|
34 |
|
---|
35 | public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
|
---|
36 | yield return new CountOdds();
|
---|
37 | //yield return new CollatzNumbers();
|
---|
38 | yield return new Checksum();
|
---|
39 | //yield return new CompareStringLengths();
|
---|
40 | //yield return new Digits();
|
---|
41 | //yield return new DoubleLetters();
|
---|
42 | //yield return new EvenSquares();
|
---|
43 | //yield return new ForLoopIndex();
|
---|
44 | //yield return new Grades();
|
---|
45 | //yield return new LastIndexOfZero();
|
---|
46 | //yield return new Median();
|
---|
47 | //yield return new MirrorImage();
|
---|
48 | //yield return new NegativeToZero();
|
---|
49 | //yield return new NumberIo();
|
---|
50 | //yield return new PigLatin();
|
---|
51 | //yield return new ReplaceSpaceWithNewline();
|
---|
52 | }
|
---|
53 |
|
---|
54 | public override IBenchmarkSuiteDataDescriptor LoadData(IDataDescriptor descriptor) {
|
---|
55 | return (IBenchmarkSuiteDataDescriptor)descriptor;
|
---|
56 | }
|
---|
57 | }
|
---|
58 | }
|
---|