Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/24/14 15:16:59 (10 years ago)
Author:
bburlacu
Message:

#2276: Commit initial version of IDataset interface and code refactoring.

Location:
branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionExcelFormatter.cs

    r11523 r11571  
    7171    }
    7272
    73     public string Format(ISymbolicExpressionTree symbolicExpressionTree, Dataset dataset) {
     73    public string Format(ISymbolicExpressionTree symbolicExpressionTree, IDataset dataset) {
    7474      var stringBuilder = new StringBuilder();
    7575      if (dataset != null) CalculateVariableMapping(symbolicExpressionTree, dataset);
     
    8585    }
    8686
    87     private void CalculateVariableMapping(ISymbolicExpressionTree tree, Dataset dataset) {
     87    private void CalculateVariableMapping(ISymbolicExpressionTree tree, IDataset dataset) {
    8888      int columnIndex = 0;
    8989      int inputIndex = 0;
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs

    r11171 r11571  
    2727namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
    2828  public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem, IStatefulItem {
    29     IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows);
     29    IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows);
    3030    IntValue EvaluatedSolutions { get; set; }
    3131  }
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs

    r11171 r11571  
    138138    #endregion
    139139
    140     public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows) {
     140    public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows) {
    141141      if (CheckExpressionsWithIntervalArithmetic.Value)
    142142        throw new NotSupportedException("Interval arithmetic is not yet supported in the symbolic data analysis interpreter.");
     
    161161    }
    162162
    163     private InterpreterState PrepareInterpreterState(ISymbolicExpressionTree tree, Dataset dataset) {
     163    private InterpreterState PrepareInterpreterState(ISymbolicExpressionTree tree, IDataset dataset) {
    164164      Instruction[] code = SymbolicExpressionTreeCompiler.Compile(tree, OpCodes.MapSymbolToOpCode);
    165165      Dictionary<string, int> doubleVariableNames = dataset.DoubleVariables.Select((x, i) => new { x, i }).ToDictionary(e => e.x, e => e.i);
     
    182182    }
    183183
    184     private void CompileInstructions(ILGenerator il, InterpreterState state, Dataset ds) {
     184    private void CompileInstructions(ILGenerator il, InterpreterState state, IDataset ds) {
    185185      Instruction currentInstr = state.NextInstruction();
    186186      int nArgs = currentInstr.nArguments;
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeInterpreter.cs

    r11171 r11571  
    9595    #endregion
    9696
    97     public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows) {
     97    public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows) {
    9898      if (CheckExpressionsWithIntervalArithmetic.Value)
    9999        throw new NotSupportedException("Interval arithmetic is not yet supported in the symbolic data analysis interpreter.");
     
    111111    }
    112112
    113     private static InterpreterState PrepareInterpreterState(ISymbolicExpressionTree tree, Dataset dataset) {
     113    private static InterpreterState PrepareInterpreterState(ISymbolicExpressionTree tree, IDataset dataset) {
    114114      Instruction[] code = SymbolicExpressionTreeCompiler.Compile(tree, OpCodes.MapSymbolToOpCode);
    115115      int necessaryArgStackSize = 0;
     
    132132
    133133
    134     public virtual double Evaluate(Dataset dataset, ref int row, InterpreterState state) {
     134    public virtual double Evaluate(IDataset dataset, ref int row, InterpreterState state) {
    135135      Instruction currentInstr = state.NextInstruction();
    136136      switch (currentInstr.opCode) {
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeLinearInterpreter.cs

    r11171 r11571  
    102102    #endregion
    103103
    104     public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows) {
     104    public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows) {
    105105      if (CheckExpressionsWithIntervalArithmetic.Value)
    106106        throw new NotSupportedException("Interval arithmetic is not yet supported in the symbolic data analysis interpreter.");
     
    115115    }
    116116
    117     private double Evaluate(Dataset dataset, int row, LinearInstruction[] code) {
     117    private double Evaluate(IDataset dataset, int row, LinearInstruction[] code) {
    118118      for (int i = code.Length - 1; i >= 0; --i) {
    119119        if (code[i].skip) continue;
     
    352352    }
    353353
    354     private static void PrepareInstructions(LinearInstruction[] code, Dataset dataset) {
     354    private static void PrepareInstructions(LinearInstruction[] code, IDataset dataset) {
    355355      for (int i = 0; i != code.Length; ++i) {
    356356        var instr = code[i];
  • branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisSolutionImpactValuesCalculator.cs

    r11171 r11571  
    4141
    4242    protected static double CalculateReplacementValue(ISymbolicExpressionTreeNode node, ISymbolicExpressionTree sourceTree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter,
    43       Dataset dataset, IEnumerable<int> rows) {
     43      IDataset dataset, IEnumerable<int> rows) {
    4444      //optimization: constant nodes return always the same value
    4545      ConstantTreeNode constantNode = node as ConstantTreeNode;
Note: See TracChangeset for help on using the changeset viewer.