Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/20/19 16:23:42 (5 years ago)
Author:
dpiringe
Message:

#3026:

  • changed the namespace from ParameterTest to HeuristicLab.Manufacture
  • added an extension method for Type to get the distance of an interface based on the target type
  • renamed methods ToData, SetValue to Extract, Inject
  • new implementation of the template generation with transformers (not the final name)
  • started to use the new transformers for the instantiation of IOptimizer-objects (out of a template)
  • new transformers: LookupParameterTransformer and DummyTransformer
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/TypeTransformer/ValueTypeValueTransformer.cs

    r17263 r17266  
    77using HeuristicLab.Data;
    88
    9 namespace ParameterTest {
     9namespace HeuristicLab.Manufacture {
    1010  public class ValueTypeValueTransformer<ValueType, T> : BaseTransformer
    1111    where ValueType : ValueTypeValue<T>
    1212    where T : struct {
    13     public override IItem FromData(ParameterData obj, Type targetType) =>
    14       //item.Cast<ValueType>().Value = CastValue<T>(obj.Default);
    15       Instantiate<ValueType>(CastValue<T>(obj.Default));
    16     public override void SetValue(IItem item, ParameterData data) =>
     13
     14    public override void InjectData(IItem item, ParameterData data) =>
    1715      item.Cast<ValueType>().Value = CastValue<T>(data.Default);
    1816
    19     public override ParameterData ToData(IItem value) {
    20       ParameterData data = base.ToData(value);
    21       data.Default = value.Cast<ValueType>().Value;
    22       data.Range = new object[] { default(T), GetMaxValue() };
    23       return data;
    24     }
     17    public override ParameterData ExtractData(IItem value) =>
     18      new ParameterData() {
     19        Default = value.Cast<ValueType>().Value,
     20        Range = new object[] { default(T), GetMaxValue() }
     21      };
    2522
     23    #region Helper
    2624    private object GetMaxValue() {
    2725      TypeCode typeCode = Type.GetTypeCode(typeof(T));
     26
     27      if (typeof(ValueType).IsEqualTo(typeof(PercentValue)))
     28        return 1.0d;
     29
    2830      switch (typeCode) {
    2931        case TypeCode.Int16: return Int16.MaxValue;
     
    4143      }
    4244    }
     45    #endregion
    4346  }
    4447}
Note: See TracChangeset for help on using the changeset viewer.