Changeset 5733 for branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeNode.cs
- Timestamp:
- 03/17/11 14:07:47 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeNode.cs
r5728 r5733 30 30 public class SymbolicExpressionTreeNode : DeepCloneable, ISymbolicExpressionTreeNode { 31 31 [Storable] 32 private IList<ISymbolicExpressionTreeNode> sub Trees;32 private IList<ISymbolicExpressionTreeNode> subtrees; 33 33 [Storable] 34 34 private ISymbol symbol; … … 55 55 : base() { 56 56 symbol = original.symbol; // symbols are reused 57 sub Trees = new List<ISymbolicExpressionTreeNode>(original.subTrees.Count);58 foreach (var subtree in original.sub Trees) {59 var clonedSub Tree = cloner.Clone(subtree);60 sub Trees.Add(clonedSubTree);61 clonedSub Tree.Parent = this;57 subtrees = new List<ISymbolicExpressionTreeNode>(original.subtrees.Count); 58 foreach (var subtree in original.subtrees) { 59 var clonedSubtree = cloner.Clone(subtree); 60 subtrees.Add(clonedSubtree); 61 clonedSubtree.Parent = this; 62 62 } 63 63 } … … 74 74 public SymbolicExpressionTreeNode(ISymbol symbol) 75 75 : base() { 76 sub Trees = new List<ISymbolicExpressionTreeNode>(3);76 subtrees = new List<ISymbolicExpressionTreeNode>(3); 77 77 this.symbol = symbol; 78 78 } … … 81 81 [StorableHook(HookType.AfterDeserialization)] 82 82 private void AfterDeserialization() { 83 if (sub Trees != null) {84 foreach (var subtree in sub Trees)83 if (subtrees != null) { 84 foreach (var subtree in subtrees) 85 85 subtree.Parent = this; 86 86 } … … 91 91 } 92 92 93 public virtual IEnumerable<ISymbolicExpressionTreeNode> Sub Trees {94 get { return sub Trees; }93 public virtual IEnumerable<ISymbolicExpressionTreeNode> Subtrees { 94 get { return subtrees; } 95 95 } 96 96 … … 103 103 else { 104 104 length = 1; 105 if (sub Trees != null) {106 for (int i = 0; i < sub Trees.Count; i++) {107 checked { length += (ushort)sub Trees[i].GetLength(); }105 if (subtrees != null) { 106 for (int i = 0; i < subtrees.Count; i++) { 107 checked { length += (ushort)subtrees[i].GetLength(); } 108 108 } 109 109 } … … 115 115 if (depth > 0) return depth; 116 116 else { 117 if (sub Trees != null) {118 for (int i = 0; i < sub Trees.Count; i++) depth = Math.Max(depth, (ushort)subTrees[i].GetDepth());117 if (subtrees != null) { 118 for (int i = 0; i < subtrees.Count; i++) depth = Math.Max(depth, (ushort)subtrees[i].GetDepth()); 119 119 } 120 120 depth++; … … 128 128 public int SubtreesCount { 129 129 get { 130 if (sub Trees == null) return 0;131 return sub Trees.Count;130 if (subtrees == null) return 0; 131 return subtrees.Count; 132 132 } 133 133 } 134 134 135 public virtual ISymbolicExpressionTreeNode GetSub Tree(int index) {136 return sub Trees[index];135 public virtual ISymbolicExpressionTreeNode GetSubtree(int index) { 136 return subtrees[index]; 137 137 } 138 public virtual int IndexOfSub Tree(ISymbolicExpressionTreeNode tree) {139 return sub Trees.IndexOf(tree);138 public virtual int IndexOfSubtree(ISymbolicExpressionTreeNode tree) { 139 return subtrees.IndexOf(tree); 140 140 } 141 public virtual void AddSub Tree(ISymbolicExpressionTreeNode tree) {142 sub Trees.Add(tree);141 public virtual void AddSubtree(ISymbolicExpressionTreeNode tree) { 142 subtrees.Add(tree); 143 143 tree.Parent = this; 144 144 ResetCachedValues(); 145 145 } 146 public virtual void InsertSub Tree(int index, ISymbolicExpressionTreeNode tree) {147 sub Trees.Insert(index, tree);146 public virtual void InsertSubtree(int index, ISymbolicExpressionTreeNode tree) { 147 subtrees.Insert(index, tree); 148 148 tree.Parent = this; 149 149 ResetCachedValues(); 150 150 } 151 public virtual void RemoveSub Tree(int index) {152 sub Trees[index].Parent = null;153 sub Trees.RemoveAt(index);151 public virtual void RemoveSubtree(int index) { 152 subtrees[index].Parent = null; 153 subtrees.RemoveAt(index); 154 154 ResetCachedValues(); 155 155 } … … 163 163 public void ForEachNodePrefix(Action<ISymbolicExpressionTreeNode> a) { 164 164 a(this); 165 if (Sub Trees != null) {166 foreach (var subtree in Sub Trees) {165 if (Subtrees != null) { 166 foreach (var subtree in Subtrees) { 167 167 subtree.ForEachNodePrefix(a); 168 168 } … … 177 177 178 178 public void ForEachNodePostfix(Action<ISymbolicExpressionTreeNode> a) { 179 if (Sub Trees != null) {180 foreach (var subtree in Sub Trees) {179 if (Subtrees != null) { 180 foreach (var subtree in Subtrees) { 181 181 subtree.ForEachNodePostfix(a); 182 182 }
Note: See TracChangeset
for help on using the changeset viewer.