Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/27/09 17:27:57 (15 years ago)
Author:
gkronber
Message:

Fixed #765 (GP Predictor should output NaN if the predicted value for a row can't be calculated).

Location:
trunk/sources/HeuristicLab.GP.StructureIdentification/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/HL3TreeEvaluator.cs

    r2328 r2393  
    3838        case EvaluatorSymbolTable.VARIABLE: {
    3939            int row = sampleIndex + currInstr.i_arg1;
    40             if (row < 0 || row >= dataset.Rows) throw new InvalidOperationException("Out of range access to dataset row: " + row);
     40            if (row < 0 || row >= dataset.Rows) throw new ArgumentException("Out of range access to dataset row: " + row);
    4141            else return currInstr.d_arg0 * dataset.GetValue(row, currInstr.i_arg0);
    4242          }
     
    4646        case EvaluatorSymbolTable.DIFFERENTIAL: {
    4747            int row = sampleIndex + currInstr.i_arg1;
    48             if (row < 0 || row >= dataset.Rows) throw new InvalidOperationException("Out of range access to dataset row: " + row);
     48            if (row < 0 || row >= dataset.Rows) throw new ArgumentException("Out of range access to dataset row: " + row);
    4949            else if (row < 1) return 0.0;
    5050            else {
  • trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/Predictor.cs

    r2381 r2393  
    5454      double[] result = new double[end - start];
    5555      for (int i = 0; i < result.Length; i++) {
    56         result[i] = treeEvaluator.Evaluate(i + start);
     56        try {
     57          result[i] = treeEvaluator.Evaluate(i + start);
     58        }
     59        catch (ArgumentException) {
     60          result[i] = double.NaN;
     61        }
    5762      }
    5863      return result;
     
    6368      foreach (IFunctionTree ft in FunctionTreeIterator.IteratePrefix(functionTree.FunctionTree)) {
    6469        if (ft is VariableFunctionTree) {
    65           VariableFunctionTree variable = (VariableFunctionTree) ft;
     70          VariableFunctionTree variable = (VariableFunctionTree)ft;
    6671          inputVariables.Add(variable.VariableName);
    6772        }
Note: See TracChangeset for help on using the changeset viewer.