Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/17/21 19:03:41 (3 years ago)
Author:
gkronber
Message:

#3115: merged r17920,r17938,r17939 from trunk to stable

Location:
stable
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.DataAnalysis.Views

  • stable/HeuristicLab.Problems.DataAnalysis.Views/3.4

  • stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/FactorPartialDependencePlot.cs

    r17181 r18021  
    222222        if (updateOnFinish)
    223223          Update();
    224       } catch (OperationCanceledException) { 
     224      } catch (OperationCanceledException) {
    225225      } catch (AggregateException ae) {
    226226        if (!ae.InnerExceptions.Any(e => e is OperationCanceledException))
     
    434434      var refSolution = solutions.First();
    435435      var refSolVars = refSolution.ProblemData.Dataset.VariableNames;
     436      var refFactorVars = refSolution.ProblemData.Dataset.StringVariables;
     437      var distinctVals = refFactorVars.ToDictionary(fv => fv, fv => refSolution.ProblemData.Dataset.GetStringValues(fv).Distinct().ToArray());
     438
    436439      foreach (var solution in solutions.Skip(1)) {
    437         var variables1 = solution.ProblemData.Dataset.VariableNames;
    438         if (!variables1.All(refSolVars.Contains))
     440        var variables1 = new HashSet<string>(solution.ProblemData.Dataset.VariableNames);
     441        if (!variables1.IsSubsetOf(refSolVars))
    439442          return false;
    440443
    441         foreach (var factorVar in variables1.Where(solution.ProblemData.Dataset.VariableHasType<string>)) {
    442           var distinctVals = refSolution.ProblemData.Dataset.GetStringValues(factorVar).Distinct();
    443           if (solution.ProblemData.Dataset.GetStringValues(factorVar).Any(val => !distinctVals.Contains(val))) return false;
     444        foreach (var factorVar in solution.ProblemData.Dataset.StringVariables) {
     445          var refValues = distinctVals[factorVar];
     446          var values = new HashSet<string>(solution.ProblemData.Dataset.GetStringValues(factorVar));
     447
     448          if (!values.IsSubsetOf(refValues))
     449            return false;
    444450        }
    445451      }
Note: See TracChangeset for help on using the changeset viewer.