Changeset 13220 for branches/DataAnalysis.ComplexityAnalyzer/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisModelComplexityCalculator.cs
- Timestamp:
- 11/17/15 15:45:55 (8 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis.ComplexityAnalyzer/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisModelComplexityCalculator.cs
r13219 r13220 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 28 public class SymbolicDataAnalysisModelComplexityAnalyzer { 29 public static double CalculateComplexity(ISymbolicExpressionTreeNode node) { 28 public static class SymbolicDataAnalysisModelComplexityCalculator { 29 public static double CalculateComplexity(ISymbolicExpressionTree tree) { 30 return CalculateComplexity(tree.Root); 31 } 32 public static double CalculateComplexity(ISymbolicExpressionTreeNode treeNode) { 33 var node = treeNode; 34 if (node.Symbol is ProgramRootSymbol) node = node.GetSubtree(0); 35 if (node.Symbol is StartSymbol) node = node.GetSubtree(0); 36 30 37 switch (OpCodes.MapSymbolToOpCode(node)) { 31 38 case OpCodes.Constant: { … … 61 68 for (int i = 0; i < node.SubtreeCount; i++) { 62 69 var nodeComplexity = CalculateComplexity(node.GetSubtree(i)); 63 complexity *= nodeComplexity + 1;70 complexity *= nodeComplexity + 1; 64 71 } 65 72 return complexity;
Note: See TracChangeset
for help on using the changeset viewer.