Changeset 3219 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3/SymbolicExpressionTree.cs
- Timestamp:
- 03/25/10 19:19:37 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3
-
Property
svn:ignore
set to
bin
*.user
obj
-
Property
svn:ignore
set to
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3/SymbolicExpressionTree.cs
r3218 r3219 24 24 using System.Text; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.GP.Interfaces;27 26 using System.Xml; 28 27 29 namespace HeuristicLab. GP{30 public class FunctionTree : IFunctionTree{31 private List< IFunctionTree> subTrees;28 namespace HeuristicLab.Encodings.SymbolicExpressionTree { 29 public class SymbolicExpressionTree { 30 private List<SymbolicExpressionTree> subTrees; 32 31 private IFunction function; 33 32 34 public FunctionTree() {33 public SymbolicExpressionTree() { 35 34 } 36 35 37 public FunctionTree(IFunction function) {38 subTrees = new List< IFunctionTree>();36 public SymbolicExpressionTree(Symbol symbol) { 37 subTrees = new List<SymbolicExpressionTree>(); 39 38 this.function = function; 40 39 } 41 40 42 protected FunctionTree(FunctionTree original) {41 protected SymbolicExpressionTree(SymbolicExpressionTree original) { 43 42 this.function = original.Function; 44 this.subTrees = new List< IFunctionTree>(original.SubTrees.Count);45 foreach ( IFunctionTree originalSubTree in original.SubTrees) {46 this.SubTrees.Add(( IFunctionTree)originalSubTree.Clone());43 this.subTrees = new List<SymbolicExpressionTree>(original.SubTrees.Count); 44 foreach (SymbolicExpressionTree originalSubTree in original.SubTrees) { 45 this.SubTrees.Add((SymbolicExpressionTree)originalSubTree.Clone()); 47 46 } 48 47 } 49 48 50 #region IFunctionTree Members51 49 public virtual bool HasLocalParameters { 52 50 get { return false; } 53 51 } 54 52 55 public virtual IList< IFunctionTree> SubTrees {53 public virtual IList<SymbolicExpressionTree> SubTrees { 56 54 get { return subTrees; } 57 55 } 58 56 59 public IFunctionFunction {57 public Symbol Function { 60 58 get { return function; } 61 59 protected set { function = value; } … … 64 62 public int GetSize() { 65 63 int size = 1; 66 foreach ( IFunctionTree tree in SubTrees) size += tree.GetSize();64 foreach (SymbolicExpressionTree tree in SubTrees) size += tree.GetSize(); 67 65 return size; 68 66 } … … 70 68 public int GetHeight() { 71 69 int maxHeight = 0; 72 foreach ( IFunctionTree tree in SubTrees) maxHeight = Math.Max(maxHeight, tree.GetHeight());70 foreach (SymbolicExpressionTree tree in SubTrees) maxHeight = Math.Max(maxHeight, tree.GetHeight()); 73 71 return maxHeight + 1; 74 72 } … … 82 80 } 83 81 84 public void AddSubTree( IFunctionTree tree) {82 public void AddSubTree(SymbolicExpressionTree tree) { 85 83 SubTrees.Add(tree); 86 84 } 87 85 88 public virtual void InsertSubTree(int index, IFunctionTree tree) {86 public virtual void InsertSubTree(int index, SymbolicExpressionTree tree) { 89 87 SubTrees.Insert(index, tree); 90 88 } … … 98 96 } 99 97 100 #endregion101 98 102 99 #region IStorable Members … … 107 104 108 105 public virtual object Clone() { 109 return new FunctionTree(this);106 return new SymbolicExpressionTree(this); 110 107 } 111 108
Note: See TracChangeset
for help on using the changeset viewer.