Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/01/21 13:40:55 (2 years ago)
Author:
chaider
Message:

#3140

  • some more refactoring
  • added possibility to set value of num nodes in infix parser
  • changed displaying style of number
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionPythonFormatter.cs

    r17929 r18100  
    202202      else if (node is VariableTreeNode)
    203203        FormatVariableTreeNode(node, strBuilder);
    204       else if (node is ConstantTreeNode)
    205         FormatConstantTreeNode(node, strBuilder);
     204      else if (node is INumericTreeNode)
     205        FormatNumericTreeNode(node, strBuilder);
    206206      else
    207207        throw new NotSupportedException("Formatting of symbol: " + symbol + " not supported for Python symbolic expression tree formatter.");
     
    227227    }
    228228
    229     private static void FormatConstantTreeNode(ISymbolicExpressionTreeNode node, StringBuilder strBuilder) {
    230       var constNode = node as ConstantTreeNode;
    231       strBuilder.Append(constNode.Value.ToString("g17", CultureInfo.InvariantCulture));
     229    private static void FormatNumericTreeNode(ISymbolicExpressionTreeNode node, StringBuilder strBuilder) {
     230      var symbol = node.Symbol;
     231      double value = 0.0;
     232      if (symbol is INumericSymbol) {
     233        var numNode = node as INumericTreeNode;
     234        value = numNode.Value;
     235      } else {
     236        throw new NotSupportedException("Formatting of symbol: " + symbol + " not supported for Python symbolic expression tree formatter.");
     237      }
     238       
     239
     240      strBuilder.Append(value.ToString("g17", CultureInfo.InvariantCulture));
    232241    }
    233242
Note: See TracChangeset for help on using the changeset viewer.