Changeset 17723 for branches/3073_IA_constraint_splitting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalConstraint.cs
- Timestamp:
- 08/11/20 14:22:45 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3073_IA_constraint_splitting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalConstraint.cs
r17607 r17723 22 22 #endregion 23 23 using System; 24 using System.Collections.Generic; 24 25 using HEAL.Attic; 25 26 using HeuristicLab.Common; … … 113 114 } 114 115 116 [Storable] 117 private IDictionary<string, Interval> regions = new Dictionary<string, Interval>(); 118 public IDictionary<string, Interval> Regions 119 { 120 get => regions; 121 set 122 { 123 if (regions != value) 124 { 125 regions = value; 126 UpdateExpression(); 127 OnChanged(); 128 } 129 } 130 } 131 115 132 [StorableConstructor] 116 133 private IntervalConstraint(StorableConstructorFlag _) : base(_) { } 117 134 118 135 public IntervalConstraint(string expression, string variable, string target, int numberOfDerivations, 119 Interval interval, bool enabled) { 120 this.expression = expression; 121 this.variable = variable; 122 this.target = target; 136 Interval interval, bool enabled) 137 : this(expression, variable, target, numberOfDerivations, 138 interval, new Dictionary<string, Interval>(), enabled) { } 139 140 public IntervalConstraint(string expression, string variable, string target, int numberOfDerivations, 141 Interval interval, IDictionary<string, Interval> regions, bool enabled) 142 { 143 this.expression = expression; 144 this.variable = variable; 145 this.target = target; 123 146 this.numberOfDerivations = numberOfDerivations; 124 this.interval = interval; 125 this.enabled = enabled; 147 this.interval = interval; 148 this.regions = regions; 149 this.enabled = enabled; 126 150 } 127 151 … … 137 161 NumberOfDerivations = original.NumberOfDerivations; 138 162 Interval = original.Interval; 163 Regions = original.Regions; 139 164 Enabled = original.Enabled; 140 165 } … … 171 196 Interval?.UpperBound, 172 197 "]"); 198 foreach(var kvp in Regions) 199 expression += $", {kvp.Key}=({kvp.Value.LowerBound} .. {kvp.Value.UpperBound})"; 173 200 Expression = expression; 174 201 return; … … 183 210 "]", 184 211 GetDerivationString(numberOfDerivations)); 212 foreach (var kvp in Regions) 213 expression += $", {kvp.Key}=({kvp.Value.LowerBound} .. {kvp.Value.UpperBound})"; 185 214 Expression = expression; 186 215 }
Note: See TracChangeset
for help on using the changeset viewer.