Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/24/14 20:07:33 (11 years ago)
Author:
gkronber
Message:

#2026 fixed a bug in generation of terminal nodes

Location:
branches/HeuristicLab.Problems.GPDL/CodeGenerator
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GPDL/CodeGenerator/BruteForceCodeGen.cs

    r10393 r10394  
    106106          if (problem.IsBetter(f, bestF)) {
    107107            bestF = f;
     108            t.PrintTree(0); Console.WriteLine();
    108109            Console.WriteLine(""{0}\t{1}\t(size={2}, depth={3})"", n, bestF, size, depth);
    109110          }
     
    153154          sb.AppendFormat("t = new {0}Tree();", terminal.Ident).AppendLine();
    154155
    155           foreach (var constr in terminal.Constraints.Reverse()) {
    156             sb.AppendFormat("t.{0} = {0};", constr.Ident).EndBlock();
    157             sb.AppendLine("}");
     156          foreach (var constr in terminal.Constraints) {
     157            sb.AppendFormat("t.{0} = {0};", constr.Ident);
     158          }
     159          sb.AppendLine("yield return t; ");
     160
     161          foreach (var _ in terminal.Constraints) {
     162            sb.AppendLine("}").EndBlock();
    158163          }
    159164
    160           sb.AppendLine("yield return t; ").EndBlock();
    161165
    162166          sb.AppendLine(" break; }");
  • branches/HeuristicLab.Problems.GPDL/CodeGenerator/ProblemCodeGen.cs

    r10393 r10394  
    7676      else return 1 + subtrees.Max(t=>t.GetDepth());
    7777    }
    78     public void PrintTree(int curState) {
     78    public virtual void PrintTree(int curState) {
    7979      Console.Write(""{0} "", Grammar.symb[curState]);
    8080      if(subtrees != null) {
     
    254254      }
    255255      sb.AppendFormat(" public {0}Tree() : base() {{ }}", terminal.Ident).AppendLine();
     256      sb.AppendLine(@"
     257          public override void PrintTree(int curState) {
     258            Console.Write(""{0} "", Grammar.symb[curState]);");
     259      foreach (var att in terminal.FieldDefinitions) {
     260        sb.AppendFormat("Console.Write(\"{{0}} \", {0});", att.Identifier).AppendLine();
     261      }
     262
     263      sb.AppendLine("}");
     264
    256265      sb.AppendLine("}");
    257266    }
Note: See TracChangeset for help on using the changeset viewer.