Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/23/10 06:50:50 (14 years ago)
Author:
swagner
Message:

Operator architecture refactoring (#95)

  • worked on algorithms
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs

    r2834 r2852  
    108108      return scope != null ? scope.Variables[actualName] : null;
    109109    }
    110     //private IValueParameter GetProblemParameter(string name) {
    111     //  IValueParameter param = null;
    112     //  if (ExecutionContext.Problem.Parameters.ContainsKey(name)) {
    113     //    param = ExecutionContext.Problem.Parameters[name] as IValueParameter;
    114     //    if (param == null)
    115     //      throw new InvalidOperationException(
    116     //        string.Format("Parameter look-up chain broken. Parameter \"{0}\" is not an \"{1}\".",
    117     //                      name,
    118     //                      typeof(IValueParameter).GetPrettyName())
    119     //      );
    120     //  }
    121     //  return param;
    122     //}
    123110    protected override IItem GetActualValue() {
    124111      string name;
     
    130117      IVariable var = LookupVariable(name);
    131118      if (var != null) {
    132         T value = var.Value as T;
    133         if (value == null)
     119        if (!(var.Value is T))
    134120          throw new InvalidOperationException(
    135121            string.Format("Type mismatch. Variable \"{0}\" does not contain a \"{1}\".",
     
    137123                          typeof(T).GetPrettyName())
    138124          );
    139         return value;
     125        return var.Value;
    140126      }
    141 
    142       // try to get value from problem
    143       //IValueParameter problemParam = GetProblemParameter(name);
    144       //if (problemParam != null) return problemParam.Value;
    145 
    146127      return null;
    147128    }
    148129    protected override void SetActualValue(IItem value) {
    149       T val = value as T;
    150       if (val == null)
     130      if (!(value is T))
    151131        throw new InvalidOperationException(
    152132          string.Format("Type mismatch. Value is not a \"{0}\".",
     
    157137      IValueParameter param = GetParameter(out name);
    158138      if (param != null) {
    159         param.Value = val;
     139        param.Value = value;
    160140        return;
    161141      }
     
    164144      IVariable var = LookupVariable(name);
    165145      if (var != null) {
    166         var.Value = val;
     146        var.Value = value;
    167147        return;
    168148      }
    169 
    170       // try to set value in problem
    171       //IValueParameter problemParam = GetProblemParameter(name);
    172       //if (problemParam != null) {
    173       //  problemParam.Value = val;
    174       //  return;
    175       //}
    176149
    177150      // create new variable
Note: See TracChangeset for help on using the changeset viewer.