- Timestamp:
- 05/10/17 11:23:05 (7 years ago)
- Location:
- branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base
- Files:
-
- 20 added
- 14 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Boolean/BooleanErcOptions.cs
r14897 r14952 7 7 8 8 public BooleanErcOptions() { } 9 public BooleanErcOptions(params IWeightedErcValueItem<bool>[] values) : base(true, values) { }10 public BooleanErcOptions(bool isEnabled, params IWeightedErcValueItem<bool>[] values) : base(isEnabled, values) { }9 public BooleanErcOptions(params WeightedErcItem<bool>[] values) : base(true, values) { } 10 public BooleanErcOptions(bool isEnabled, params WeightedErcItem<bool>[] values) : base(isEnabled, values) { } 11 11 12 12 [StorableConstructor] … … 18 18 return new BooleanErcOptions(this, cloner); 19 19 } 20 21 public override string ToString() { 22 return "Boolean"; 23 } 20 24 } 21 25 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Char/CharErcOptions.cs
r14905 r14952 10 10 public CharErcOptions() { } 11 11 12 public CharErcOptions(params IWeightedErcValueItem<int>[] values) : this(true, values) { }12 public CharErcOptions(params WeightedErcItem<int>[] values) : this(true, values) { } 13 13 14 public CharErcOptions(bool isEnabled, params IWeightedErcValueItem<int>[] values) : base(isEnabled, values) { }14 public CharErcOptions(bool isEnabled, params WeightedErcItem<int>[] values) : base(isEnabled, values) { } 15 15 16 16 [StorableConstructor] … … 26 26 return GetErcValue(random, Convert.ToChar); 27 27 } 28 29 public override string ToString() { 30 return "Char"; 31 } 28 32 } 29 33 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ConstantsErcValue.cs
r14905 r14952 7 7 8 8 [StorableClass] 9 public abstract class ConstantsWeightedErc Value<T, TArray> : WeightedErcValueItem<T>9 public abstract class ConstantsWeightedErc<T, TArray> : WeightedErcItem<T> 10 10 where T : struct 11 11 where TArray : ValueTypeArray<T>, new() { … … 13 13 private const string ConstantsParameterName = "Constants"; 14 14 15 protected ConstantsWeightedErc Value(TArray array) : this(true, array) { }16 protected ConstantsWeightedErc Value(bool isEnabled, TArray array, double weight = 1d) : base(isEnabled, weight) {15 protected ConstantsWeightedErc(TArray array) : this(true, array) { } 16 protected ConstantsWeightedErc(bool isEnabled, TArray array, double weight = 1d) : base(isEnabled, weight) { 17 17 Parameters.Add(new FixedValueParameter<TArray>(ConstantsParameterName, array)); 18 array.ToStringChanged += (sender, args) => UpdateName(); 19 UpdateName(); 20 } 21 22 private void UpdateName() { 23 Name = Constants.ToString(); 18 24 } 19 25 20 26 [StorableConstructor] 21 protected ConstantsWeightedErc Value(bool deserializing) : base(deserializing) { }27 protected ConstantsWeightedErc(bool deserializing) : base(deserializing) { } 22 28 23 protected ConstantsWeightedErc Value(ConstantsWeightedErcValue<T, TArray> origin, Cloner cloner) : base(origin, cloner) { }29 protected ConstantsWeightedErc(ConstantsWeightedErc<T, TArray> origin, Cloner cloner) : base(origin, cloner) { } 24 30 25 31 public IValueParameter<TArray> ConstantsParameter -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOption.cs
r14905 r14952 6 6 [StorableClass] 7 7 public abstract class ErcOption<T> : ErcOptionConvertible<T, T> { 8 protected ErcOption() : this(false, new IWeightedErcValueItem<T>[0]) { }8 protected ErcOption() : this(false, new WeightedErcItem<T>[0]) { } 9 9 10 protected ErcOption(bool isEnabled, params IWeightedErcValueItem<T>[] values)10 protected ErcOption(bool isEnabled, params WeightedErcItem<T>[] values) 11 11 : base(isEnabled, values) { } 12 12 -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOptionConvertible.cs
r14905 r14952 10 10 11 11 [StorableClass] 12 public abstract class ErcOptionConvertible<TValue, TValueItem> : CheckedItemCollection< IWeightedErcValueItem<TValueItem>>, IErcValueItem<TValue> {12 public abstract class ErcOptionConvertible<TValue, TValueItem> : CheckedItemCollection<WeightedErcItem<TValueItem>>, IErcItem<TValue> { 13 13 [Storable] 14 14 protected bool isEnabled; … … 16 16 public event EventHandler<bool> EnabledChanged; 17 17 18 protected ErcOptionConvertible() : this(false, new IWeightedErcValueItem<TValueItem>[0]) { }18 protected ErcOptionConvertible() : this(false, new WeightedErcItem<TValueItem>[0]) { } 19 19 20 protected ErcOptionConvertible(bool isEnabled, params IWeightedErcValueItem<TValueItem>[] values) : base(values) {20 protected ErcOptionConvertible(bool isEnabled, params WeightedErcItem<TValueItem>[] values) : base(values) { 21 21 this.isEnabled = isEnabled; 22 22 SetEnabledChangedHandler(values); … … 42 42 } 43 43 44 private void SetEnabledChangedHandler(IEnumerable< IWeightedErcValueItem<TValueItem>> values) {44 private void SetEnabledChangedHandler(IEnumerable<WeightedErcItem<TValueItem>> values) { 45 45 foreach (var item in values) 46 46 item.EnabledChanged += ErcValueItemEnabledChanged; 47 47 } 48 48 49 protected override void OnItemsAdded(IEnumerable< IWeightedErcValueItem<TValueItem>> items) {49 protected override void OnItemsAdded(IEnumerable<WeightedErcItem<TValueItem>> items) { 50 50 base.OnItemsAdded(items); 51 51 SetEnabledChangedHandler(items); 52 52 } 53 53 54 protected override void OnItemsRemoved(IEnumerable< IWeightedErcValueItem<TValueItem>> items) {54 protected override void OnItemsRemoved(IEnumerable<WeightedErcItem<TValueItem>> items) { 55 55 base.OnItemsRemoved(items); 56 56 … … 60 60 61 61 private void ErcValueItemEnabledChanged(object sender, bool state) { 62 SetItemCheckedState(( IWeightedErcValueItem<TValueItem>)sender, state);62 SetItemCheckedState((WeightedErcItem<TValueItem>)sender, state); 63 63 } 64 64 65 protected override void OnCheckedItemsChanged(IEnumerable< IWeightedErcValueItem<TValueItem>> items) {65 protected override void OnCheckedItemsChanged(IEnumerable<WeightedErcItem<TValueItem>> items) { 66 66 base.OnCheckedItemsChanged(items); 67 67 -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/ErcOptions.cs
r14906 r14952 1 1 namespace HeuristicLab.Problems.ProgramSynthesis.Base.Erc { 2 using System;3 2 using System.Collections.Generic; 4 using System.Linq;5 6 using HeuristicLab.Collections;7 3 using HeuristicLab.Common; 8 4 using HeuristicLab.Core; 9 using HeuristicLab.Data;10 using HeuristicLab.Parameters;11 5 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 12 6 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Boolean; … … 16 10 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Integer; 17 11 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.IntegerVector; 12 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.Name; 18 13 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.String; 19 14 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc.StringVector; 20 15 21 16 [StorableClass] 22 public class ErcOptions : ParameterizedNamedItem, IReadOnlyErcOptions { 23 private const string ProbabilityParameterName = "Probability"; 24 private const string IntegerParameterName = "Integer"; 25 private const string FloatParameterName = "Float"; 26 private const string CharParameterName = "Char"; 27 private const string BooleanParameterName = "Boolean"; 28 private const string StringParameterName = "String"; 29 private const string NameParameterName = "Name"; 30 private const string IntegerVectorParameterName = "IntegerVector"; 31 private const string FloatVectorParameterName = "FloatVector"; 32 private const string StringVectorParameterName = "StringVector"; 33 34 [Storable] 35 private readonly NamedItemCollection<IValueParameter> ercOptionParameters; 36 37 [Storable] 38 private readonly ReadOnlyCheckedItemCollection<IValueParameter> ercOptions; 39 40 private IDictionary<IValueParameter, EventHandler<bool>> ercOptionEnabledChangedHandler; 17 public class ErcOptions : NamedItem, IReadOnlyErcOptions { 41 18 42 19 public ErcOptions() { 43 20 Name = "ERC Options"; 44 21 45 Parameters.Add(new FixedValueParameter<PercentValue>(ProbabilityParameterName)); 46 47 ercOptionParameters = new NamedItemCollection<IValueParameter> 48 { 49 new ValueParameter<IntegerErcOptions>(IntegerParameterName), 50 new ValueParameter<FloatErcOptions>(FloatParameterName), 51 new ValueParameter<BooleanErcOptions>(BooleanParameterName), 52 new ValueParameter<StringErcOptions>(StringParameterName), 53 new ValueParameter<CharErcOptions>(CharParameterName), 54 new ValueParameter<StringErcOptions>(NameParameterName), 55 new ValueParameter<IntegerVectorErcOptions>(IntegerVectorParameterName), 56 new ValueParameter<FloatVectorErcOptions>(FloatVectorParameterName), 57 new ValueParameter<StringVectorErcOptions>(StringVectorParameterName) 58 }; 59 60 InitEnabledChangedHandlerDict(ercOptionParameters); 61 62 var optionsCollection = new CheckedItemCollection<IValueParameter>(ercOptionParameters); 63 ercOptions = new ReadOnlyCheckedItemCollection<IValueParameter>(optionsCollection); 64 Parameters.Add(new FixedValueParameter<ReadOnlyCheckedItemCollection<IValueParameter>>("Options", ercOptions)); 65 66 ercOptions.CheckedItemsChanged += ErcOptionsCheckedItemsChanged; 67 DisableAllOptions(); 22 ErcProbability = 0d; 23 IntegerErcOptions = new IntegerErcOptions(); 24 FloatErcOptions = new FloatErcOptions(); 25 BooleanErcOptions = new BooleanErcOptions(); 26 CharErcOptions = new CharErcOptions(); 27 StringErcOptions = new StringErcOptions(); 28 NameErcOptions = new NameErcOptions(); 29 IntegerVectorErcOptions = new IntegerVectorErcOptions(); 30 StringVectorErcOptions = new StringVectorErcOptions(); 31 FloatVectorErcOptions = new FloatVectorErcOptions(); 68 32 } 69 33 … … 75 39 public ErcOptions(ErcOptions origin, Cloner cloner) 76 40 : base(origin, cloner) { 77 ercOptions = cloner.Clone(origin.ercOptions); 78 ercOptionParameters = cloner.Clone(origin.ercOptionParameters); 79 80 InitEnabledChangedHandlerDict(ercOptionParameters); 41 ErcProbability = origin.ErcProbability; 42 IntegerErcOptions = cloner.Clone(origin.IntegerErcOptions); 43 FloatErcOptions = cloner.Clone(origin.FloatErcOptions); 44 BooleanErcOptions = cloner.Clone(origin.BooleanErcOptions); 45 CharErcOptions = cloner.Clone(origin.CharErcOptions); 46 StringErcOptions = cloner.Clone(origin.StringErcOptions); 47 NameErcOptions = cloner.Clone(origin.NameErcOptions); 48 IntegerVectorErcOptions = cloner.Clone(origin.IntegerVectorErcOptions); 49 StringVectorErcOptions = cloner.Clone(origin.StringVectorErcOptions); 50 FloatVectorErcOptions = cloner.Clone(origin.FloatVectorErcOptions); 81 51 } 82 52 83 public IValueParameter<PercentValue> ErcProbabilityParameter 84 { 85 get 86 { 87 return (IValueParameter<PercentValue>)Parameters[ProbabilityParameterName]; 88 } 89 } 53 [Storable] 54 public double ErcProbability { get; set; } 90 55 91 public IValueParameter<IntegerErcOptions> IntegerErcOptionsParameter92 {93 get94 {95 return (IValueParameter<IntegerErcOptions>)ercOptionParameters[IntegerParameterName];96 }97 }98 56 99 public IntegerErcOptions IntegerErcOptions 100 { 101 get 102 { 103 return IntegerErcOptionsParameter.Value; 104 } 105 set 106 { 107 SetErcOptions(IntegerErcOptionsParameter, value); 108 } 109 } 110 111 public IValueParameter<FloatErcOptions> FloatErcOptionsParameter 112 { 113 get 114 { 115 return (IValueParameter<FloatErcOptions>)ercOptionParameters[FloatParameterName]; 116 } 117 } 118 119 public FloatErcOptions FloatErcOptions 120 { 121 get 122 { 123 return FloatErcOptionsParameter.Value; 124 } 125 set 126 { 127 SetErcOptions(FloatErcOptionsParameter, value); 128 } 129 } 57 [Storable] 58 public IntegerErcOptions IntegerErcOptions { get; set; } 59 [Storable] 60 public FloatErcOptions FloatErcOptions { get; set; } 130 61 131 62 /// <summary> 132 63 /// Integer represents ASCII value 133 64 /// </summary> 134 public IValueParameter<CharErcOptions> CharErcOptionsParameter 135 { 136 get 137 { 138 return (IValueParameter<CharErcOptions>)ercOptionParameters[CharParameterName]; 139 } 140 } 65 [Storable] 66 public CharErcOptions CharErcOptions { get; set; } 67 [Storable] 68 public BooleanErcOptions BooleanErcOptions { get; set; } 69 [Storable] 70 public StringErcOptions StringErcOptions { get; set; } 71 [Storable] 72 public NameErcOptions NameErcOptions { get; set; } 73 [Storable] 74 public IntegerVectorErcOptions IntegerVectorErcOptions { get; set; } 75 [Storable] 76 public StringVectorErcOptions StringVectorErcOptions { get; set; } 77 [Storable] 78 public FloatVectorErcOptions FloatVectorErcOptions { get; set; } 141 79 142 public CharErcOptions CharErcOptions 143 { 144 get 145 { 146 return CharErcOptionsParameter.Value; 147 } 148 set 149 { 150 SetErcOptions(CharErcOptionsParameter, value); 151 } 152 } 153 154 public IValueParameter<BooleanErcOptions> BooleanErcOptionsParameter 155 { 156 get 157 { 158 return (IValueParameter<BooleanErcOptions>)ercOptionParameters[BooleanParameterName]; 159 } 160 } 161 162 public BooleanErcOptions BooleanErcOptions 163 { 164 get 165 { 166 return BooleanErcOptionsParameter.Value; 167 } 168 set 169 { 170 SetErcOptions(BooleanErcOptionsParameter, value); 171 } 172 } 173 174 public IValueParameter<StringErcOptions> StringErcOptionsParameter 175 { 176 get 177 { 178 return (IValueParameter<StringErcOptions>)ercOptionParameters[StringParameterName]; 179 } 180 } 181 182 public StringErcOptions StringErcOptions 183 { 184 get 185 { 186 return StringErcOptionsParameter.Value; 187 } 188 set 189 { 190 SetErcOptions(StringErcOptionsParameter, value); 191 } 192 } 193 194 public IValueParameter<StringErcOptions> NameParameter 195 { 196 get 197 { 198 return (IValueParameter<StringErcOptions>)ercOptionParameters[NameParameterName]; 199 } 200 } 201 202 public StringErcOptions NameErcOptions 203 { 204 get 205 { 206 return NameParameter.Value; 207 } 208 set 209 { 210 SetErcOptions(NameParameter, value); 211 } 212 } 213 214 public IValueParameter<IntegerVectorErcOptions> IntegerVectorErcOptionsParameter 215 { 216 get 217 { 218 return (IValueParameter<IntegerVectorErcOptions>)ercOptionParameters[IntegerVectorParameterName]; 219 } 220 } 221 222 public IntegerVectorErcOptions IntegerVectorErcOptions 223 { 224 get 225 { 226 return IntegerVectorErcOptionsParameter.Value; 227 } 228 set 229 { 230 SetErcOptions(IntegerVectorErcOptionsParameter, value); 231 } 232 } 233 234 public IValueParameter<StringVectorErcOptions> StringVectorErcOptionsValueParameter 235 { 236 get 237 { 238 return (IValueParameter<StringVectorErcOptions>)ercOptionParameters[StringVectorParameterName]; 239 } 240 } 241 242 public StringVectorErcOptions StringVectorErcOptions 243 { 244 get 245 { 246 return StringVectorErcOptionsValueParameter.Value; 247 } 248 set 249 { 250 SetErcOptions(StringVectorErcOptionsValueParameter, value); 251 } 252 } 253 254 public IValueParameter<FloatVectorErcOptions> FloatVectorErcOptionsParameter 255 { 256 get 257 { 258 return (IValueParameter<FloatVectorErcOptions>)ercOptionParameters[FloatVectorParameterName]; 259 } 260 } 261 262 public FloatVectorErcOptions FloatVectorErcOptions 263 { 264 get 265 { 266 return FloatVectorErcOptionsParameter.Value; 267 } 268 set 269 { 270 SetErcOptions(FloatVectorErcOptionsParameter, value); 271 } 272 } 273 274 public double ErcProbability 275 { 276 get 277 { 278 return ErcProbabilityParameter.Value.Value; 279 } 280 set 281 { 282 ErcProbabilityParameter.Value.Value = value; 283 } 284 } 285 286 IErcValueItem<int> IReadOnlyErcOptions.IntegerErcOptions 80 IErcItem<int> IReadOnlyErcOptions.IntegerErcOptions 287 81 { 288 82 get … … 292 86 } 293 87 294 IErc ValueItem<double> IReadOnlyErcOptions.FloatErcOptions88 IErcItem<double> IReadOnlyErcOptions.FloatErcOptions 295 89 { 296 90 get … … 300 94 } 301 95 302 IErc ValueItem<bool> IReadOnlyErcOptions.BooleanErcOptions96 IErcItem<bool> IReadOnlyErcOptions.BooleanErcOptions 303 97 { 304 98 get … … 308 102 } 309 103 310 IErc ValueItem<char> IReadOnlyErcOptions.CharErcOptions104 IErcItem<char> IReadOnlyErcOptions.CharErcOptions 311 105 { 312 106 get … … 316 110 } 317 111 318 IErc ValueItem<string> IReadOnlyErcOptions.StringErcOptions112 IErcItem<string> IReadOnlyErcOptions.StringErcOptions 319 113 { 320 114 get … … 324 118 } 325 119 326 IErc ValueItem<string> IReadOnlyErcOptions.NameErcOptions120 IErcItem<string> IReadOnlyErcOptions.NameErcOptions 327 121 { 328 122 get … … 332 126 } 333 127 334 IErc ValueItem<IReadOnlyList<int>> IReadOnlyErcOptions.IntegerVectorErcOptions128 IErcItem<IReadOnlyList<int>> IReadOnlyErcOptions.IntegerVectorErcOptions 335 129 { 336 130 get … … 340 134 } 341 135 342 IErc ValueItem<IReadOnlyList<double>> IReadOnlyErcOptions.FloatVectorErcOptions136 IErcItem<IReadOnlyList<double>> IReadOnlyErcOptions.FloatVectorErcOptions 343 137 { 344 138 get … … 348 142 } 349 143 350 IErc ValueItem<IReadOnlyList<string>> IReadOnlyErcOptions.StringVectorErcOptions144 IErcItem<IReadOnlyList<string>> IReadOnlyErcOptions.StringVectorErcOptions 351 145 { 352 146 get 353 147 { 354 148 return StringVectorErcOptions; 355 }356 }357 358 [StorableHook(HookType.AfterDeserialization)]359 // ReSharper disable once UnusedMember.Local360 private void AfterDeserialization() {361 InitEnabledChangedHandlerDict(ercOptionParameters);362 }363 364 private void InitEnabledChangedHandlerDict(NamedItemCollection<IValueParameter> parameters) {365 ercOptionEnabledChangedHandler =366 parameters.ToDictionary<IValueParameter, IValueParameter, EventHandler<bool>>(367 param => param,368 param => (sender, state) => ercOptions.SetItemCheckedState(param, state));369 }370 371 private void ErcOptionsCheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IValueParameter> e) {372 foreach (var item in e.Items) {373 var ercItem = (IErcItem)item.Value;374 ercItem.IsEnabled = ercOptions.ItemChecked(item);375 149 } 376 150 } … … 389 163 390 164 public void SetOptionsState(bool state) { 391 foreach (var param in ercOptions) ercOptions.SetItemCheckedState(param, state); 392 } 393 394 private void SetErcOptions(IValueParameter param, IErcItem value) { 395 if ((ercOptionEnabledChangedHandler[param] != null) && (param.Value != null)) ((IErcItem)param.Value).EnabledChanged -= ercOptionEnabledChangedHandler[param]; 396 397 param.Value = value; 398 ercOptions.SetItemCheckedState(param, value != null ? value.IsEnabled : false); 399 400 if (value != null) value.EnabledChanged += ercOptionEnabledChangedHandler[param]; 165 IntegerErcOptions.IsEnabled = state; 166 FloatErcOptions.IsEnabled = state; 167 CharErcOptions.IsEnabled = state; 168 BooleanErcOptions.IsEnabled = state; 169 StringErcOptions.IsEnabled = state; 170 NameErcOptions.IsEnabled = state; 171 IntegerVectorErcOptions.IsEnabled = state; 172 FloatVectorErcOptions.IsEnabled = state; 173 StringVectorErcOptions.IsEnabled = state; 401 174 } 402 175 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatErcOptions.cs
r14897 r14952 8 8 public FloatErcOptions() { } 9 9 10 public FloatErcOptions(params IWeightedErcValueItem<double>[] values) : base(true, values) { }10 public FloatErcOptions(params WeightedErcItem<double>[] values) : base(true, values) { } 11 11 12 public FloatErcOptions(bool isEnabled, params IWeightedErcValueItem<double>[] values) : base(isEnabled, values) { }12 public FloatErcOptions(bool isEnabled, params WeightedErcItem<double>[] values) : base(isEnabled, values) { } 13 13 14 14 [StorableConstructor] … … 20 20 return new FloatErcOptions(this, cloner); 21 21 } 22 23 public override string ToString() { 24 return "Float"; 25 } 22 26 } 23 27 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/FloatVector/FloatVectorErcOptions.cs
r14897 r14952 8 8 public class FloatVectorErcOptions : ErcOption<IReadOnlyList<double>> { 9 9 public FloatVectorErcOptions() { } 10 public FloatVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<double>>[] values) : base(true, values) { }10 public FloatVectorErcOptions(params WeightedErcItem<IReadOnlyList<double>>[] values) : base(true, values) { } 11 11 12 public FloatVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<double>>[] values) : base(isEnabled, values) { }12 public FloatVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<double>>[] values) : base(isEnabled, values) { } 13 13 14 14 [StorableConstructor] … … 20 20 return new FloatVectorErcOptions(this, cloner); 21 21 } 22 23 public override string ToString() { 24 return "FloatVector"; 25 } 22 26 } 23 27 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IErcItem.cs
r14905 r14952 1 1 namespace HeuristicLab.Problems.ProgramSynthesis.Base.Erc { 2 2 using System; 3 4 using HeuristicLab.Core; 3 using Core; 5 4 6 5 public interface IErcItem : IItem { … … 8 7 bool IsEnabled { get; set; } 9 8 } 9 10 public interface IErcItem<out T> : IErcItem { 11 T GetErcValue(IRandom random); 12 } 13 14 public interface IWeightedErcItem : IErcItem, IWeighted { } 15 16 public interface IWeightedErcItem<out T> : IErcItem<T>, IWeightedErcItem { } 10 17 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IReadOnlyErcOptions.cs
r14897 r14952 4 4 public interface IReadOnlyErcOptions { 5 5 double ErcProbability { get; } 6 IErc ValueItem<int> IntegerErcOptions { get; }7 IErc ValueItem<double> FloatErcOptions { get; }8 IErc ValueItem<bool> BooleanErcOptions { get; }9 IErc ValueItem<char> CharErcOptions { get; }10 IErc ValueItem<string> StringErcOptions { get; }11 IErc ValueItem<string> NameErcOptions { get; }12 IErc ValueItem<IReadOnlyList<int>> IntegerVectorErcOptions { get; }13 IErc ValueItem<IReadOnlyList<double>> FloatVectorErcOptions { get; }14 IErc ValueItem<IReadOnlyList<string>> StringVectorErcOptions { get; }6 IErcItem<int> IntegerErcOptions { get; } 7 IErcItem<double> FloatErcOptions { get; } 8 IErcItem<bool> BooleanErcOptions { get; } 9 IErcItem<char> CharErcOptions { get; } 10 IErcItem<string> StringErcOptions { get; } 11 IErcItem<string> NameErcOptions { get; } 12 IErcItem<IReadOnlyList<int>> IntegerVectorErcOptions { get; } 13 IErcItem<IReadOnlyList<double>> FloatVectorErcOptions { get; } 14 IErcItem<IReadOnlyList<string>> StringVectorErcOptions { get; } 15 15 } 16 16 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerErcOptions.cs
r14897 r14952 6 6 public class IntegerErcOptions : ErcOption<int> { 7 7 public IntegerErcOptions() { } 8 public IntegerErcOptions(params IWeightedErcValueItem<int>[] values) : base(true, values) { }9 public IntegerErcOptions(bool isEnabled, params IWeightedErcValueItem<int>[] values) : base(isEnabled, values) { }8 public IntegerErcOptions(params WeightedErcItem<int>[] values) : base(true, values) { } 9 public IntegerErcOptions(bool isEnabled, params WeightedErcItem<int>[] values) : base(isEnabled, values) { } 10 10 11 11 [StorableConstructor] … … 17 17 return new IntegerErcOptions(this, cloner); 18 18 } 19 public override string ToString() { 20 return "Integer"; 21 } 19 22 } 20 23 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IntegerVector/IntegerVectorErcOptions.cs
r14897 r14952 8 8 public class IntegerVectorErcOptions : ErcOption<IReadOnlyList<int>> { 9 9 public IntegerVectorErcOptions() { } 10 public IntegerVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<int>>[] values) : base(true, values) { }10 public IntegerVectorErcOptions(params WeightedErcItem<IReadOnlyList<int>>[] values) : base(true, values) { } 11 11 12 public IntegerVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<int>>[] values) : base(isEnabled, values) { }12 public IntegerVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<int>>[] values) : base(isEnabled, values) { } 13 13 14 14 [StorableConstructor] … … 20 20 return new IntegerVectorErcOptions(this, cloner); 21 21 } 22 23 public override string ToString() { 24 return "IntegerVector"; 25 } 22 26 } 23 27 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringErcOptions.cs
r14897 r14952 7 7 public class StringErcOptions : ErcOption<string> { 8 8 public StringErcOptions() { } 9 public StringErcOptions(params IWeightedErcValueItem<string>[] values) : base(true, values) { }10 public StringErcOptions(bool isEnabled, params IWeightedErcValueItem<string>[] values) : base(isEnabled, values) { }9 public StringErcOptions(params WeightedErcItem<string>[] values) : base(true, values) { } 10 public StringErcOptions(bool isEnabled, params WeightedErcItem<string>[] values) : base(isEnabled, values) { } 11 11 12 12 [StorableConstructor] … … 18 18 return new StringErcOptions(this, cloner); 19 19 } 20 21 public override string ToString() { 22 return "String"; 23 } 20 24 } 21 25 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/StringVector/StringVectorErcOptions.cs
r14897 r14952 8 8 public class StringVectorErcOptions : ErcOption<IReadOnlyList<string>> { 9 9 public StringVectorErcOptions() { } 10 public StringVectorErcOptions(params IWeightedErcValueItem<IReadOnlyList<string>>[] values) : base(true, values) { }10 public StringVectorErcOptions(params WeightedErcItem<IReadOnlyList<string>>[] values) : base(true, values) { } 11 11 12 public StringVectorErcOptions(bool isEnabled, params IWeightedErcValueItem<IReadOnlyList<string>>[] values) : base(isEnabled, values) { }12 public StringVectorErcOptions(bool isEnabled, params WeightedErcItem<IReadOnlyList<string>>[] values) : base(isEnabled, values) { } 13 13 14 14 [StorableConstructor] … … 20 20 return new StringVectorErcOptions(this, cloner); 21 21 } 22 23 public override string ToString() { 24 return "StringVector"; 25 } 22 26 } 23 27 } -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/HeuristicLab.Problems.ProgramSynthesis.Base.csproj
r14905 r14952 44 44 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 45 45 </Reference> 46 <Reference Include="HeuristicLab.Core.Views-3.3"> 47 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath> 48 </Reference> 46 49 <Reference Include="HeuristicLab.Data-3.3"> 47 50 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath> 51 </Reference> 52 <Reference Include="HeuristicLab.Data.Views-3.3"> 53 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data.Views-3.3.dll</HintPath> 54 </Reference> 55 <Reference Include="HeuristicLab.MainForm-3.3"> 56 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath> 57 </Reference> 58 <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3"> 59 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath> 48 60 </Reference> 49 61 <Reference Include="HeuristicLab.Parameters-3.3"> … … 62 74 <Reference Include="System" /> 63 75 <Reference Include="System.Core" /> 76 <Reference Include="System.Drawing" /> 77 <Reference Include="System.Windows.Forms" /> 64 78 <Reference Include="System.Xml.Linq" /> 65 79 <Reference Include="System.Data.DataSetExtensions" /> … … 71 85 <ItemGroup> 72 86 <Compile Include="Erc\Boolean\BooleanErcOptions.cs" /> 73 <Compile Include="Erc\Boolean\BooleanRandomErc Value.cs" />87 <Compile Include="Erc\Boolean\BooleanRandomErc.cs" /> 74 88 <Compile Include="Erc\Char\CharErcOptions.cs" /> 75 89 <Compile Include="Erc\ConstantsErcValue.cs" /> … … 78 92 <Compile Include="Erc\IErcItem.cs" /> 79 93 <Compile Include="Erc\IReadOnlyErcOptions.cs" /> 80 <Compile Include="Erc\WeightedErcValueItem.cs" /> 81 <Compile Include="Erc\FloatVector\FloatVectorConstantsErcValue.cs" /> 94 <Compile Include="Erc\Name\NameErcOptions.cs" /> 95 <Compile Include="Erc\Views\CheckedErcItemCollectionView.cs"> 96 <SubType>UserControl</SubType> 97 </Compile> 98 <Compile Include="Erc\Views\CheckedErcItemCollectionView.Designer.cs"> 99 <DependentUpon>CheckedErcItemCollectionView.cs</DependentUpon> 100 </Compile> 101 <Compile Include="Erc\Views\ErcOptionsView.cs"> 102 <SubType>UserControl</SubType> 103 </Compile> 104 <Compile Include="Erc\Views\ErcOptionsView.Designer.cs"> 105 <DependentUpon>ErcOptionsView.cs</DependentUpon> 106 </Compile> 107 <Compile Include="Erc\WeightedErcItem.cs" /> 108 <Compile Include="Erc\FloatVector\FloatVectorConstantsErc.cs" /> 82 109 <Compile Include="Erc\FloatVector\FloatVectorErcOptions.cs" /> 83 <Compile Include="Erc\Float\FloatConstantErc Value.cs" />84 <Compile Include="Erc\Float\FloatRangeErc Value.cs" />85 <Compile Include="Erc\IntegerVector\IntegerVectorConstantsErc Value.cs" />110 <Compile Include="Erc\Float\FloatConstantErc.cs" /> 111 <Compile Include="Erc\Float\FloatRangeErc.cs" /> 112 <Compile Include="Erc\IntegerVector\IntegerVectorConstantsErc.cs" /> 86 113 <Compile Include="Erc\IntegerVector\IntegerVectorErcOptions.cs" /> 87 <Compile Include="Erc\IWeightedErcValueItem.cs" /> 88 <Compile Include="Erc\StringVector\StringVectorConstantsErcValue.cs" /> 114 <Compile Include="Erc\StringVector\StringVectorConstantsErc.cs" /> 89 115 <Compile Include="Erc\StringVector\StringVectorErcOptions.cs" /> 90 <Compile Include="Erc\VectorConstantsErc Value.cs" />91 <Compile Include="Erc\String\StringConstantErc Value.cs" />92 <Compile Include="Erc\Integer\IntegerConstantErc Value.cs" />116 <Compile Include="Erc\VectorConstantsErc.cs" /> 117 <Compile Include="Erc\String\StringConstantErc.cs" /> 118 <Compile Include="Erc\Integer\IntegerConstantErc.cs" /> 93 119 <Compile Include="Erc\ErcOptions.cs" /> 94 120 <Compile Include="Erc\Float\FloatErcOptions.cs" /> 95 <Compile Include="Erc\IErcValueItem.cs" />96 121 <Compile Include="Erc\Integer\IntegerErcOptions.cs" /> 97 <Compile Include="Erc\Integer\IntegerRangeErc Value.cs" />98 <Compile Include="Erc\String\StringRandomErc Value.cs" />122 <Compile Include="Erc\Integer\IntegerRangeErc.cs" /> 123 <Compile Include="Erc\String\StringRandomErc.cs" /> 99 124 <Compile Include="Erc\String\StringErcOptions.cs" /> 100 125 <Compile Include="Generators\StringGenerator.cs" /> … … 103 128 <Compile Include="Properties\AssemblyInfo.cs" /> 104 129 <Compile Include="Weighted\WeightedExtensions.cs" /> 130 </ItemGroup> 131 <ItemGroup> 132 <EmbeddedResource Include="Erc\Views\ErcOptionsView.resx"> 133 <DependentUpon>ErcOptionsView.cs</DependentUpon> 134 </EmbeddedResource> 105 135 </ItemGroup> 106 136 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Plugin.cs
r14907 r14952 31 31 [PluginDependency("HeuristicLab.Common", "3.3")] 32 32 [PluginDependency("HeuristicLab.Core", "3.3")] 33 [PluginDependency("HeuristicLab.Core.Views", "3.3")] 33 34 [PluginDependency("HeuristicLab.Data", "3.3")] 35 [PluginDependency("HeuristicLab.Data.Views", "3.3")] 34 36 [PluginDependency("HeuristicLab.Parameters", "3.3")] 35 37 [PluginDependency("HeuristicLab.Persistence", "3.3")] 36 38 [PluginDependency("HeuristicLab.Random", "3.3")] 39 [PluginDependency("HeuristicLab.MainForm", "3.3")] 40 [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")] 37 41 public class Plugin : PluginBase { 38 42
Note: See TracChangeset
for help on using the changeset viewer.