Changeset 17970 for branches/3106_AnalyticContinuedFractionsRegression/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalCollection.cs
- Timestamp:
- 04/30/21 12:18:19 (3 years ago)
- Location:
- branches/3106_AnalyticContinuedFractionsRegression
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3106_AnalyticContinuedFractionsRegression
- Property svn:mergeinfo changed
-
branches/3106_AnalyticContinuedFractionsRegression/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
-
branches/3106_AnalyticContinuedFractionsRegression/HeuristicLab.Problems.DataAnalysis/3.4
- Property svn:mergeinfo changed
-
branches/3106_AnalyticContinuedFractionsRegression/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalCollection.cs
r17564 r17970 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-2019Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 34 34 get => HeuristicLab.Common.Resources.VSImageLibrary.Object; 35 35 } 36 private IDictionary<string, Interval> intervals { get; } = new Dictionary<string, Interval>();37 36 38 [Storable(Name = "StorableIntervalInformation")] 37 private IDictionary<string, Interval> intervals { get; set; } = new Dictionary<string, Interval>(); 38 39 [Storable(OldName = "StorableIntervalInformation")] 39 40 private KeyValuePair<string, double[]>[] StorableIntervalInformation { 41 set { 42 foreach (var varInt in value) 43 intervals.Add(varInt.Key, new Interval(varInt.Value[0], varInt.Value[1])); 44 } 45 } 46 47 [Storable] 48 private object[] StorableIntervals { 40 49 get { 41 var l = new List<KeyValuePair<string, double[]>>(); 42 foreach (var varInt in intervals) 50 var names = intervals.Keys.ToArray(); 51 var lowerBounds = intervals.Values.Select(i => i.LowerBound).ToArray(); 52 var upperBounds = intervals.Values.Select(i => i.UpperBound).ToArray(); 43 53 44 l.Add(new KeyValuePair<string, double[]>(varInt.Key, 45 new double[] { varInt.Value.LowerBound, varInt.Value.UpperBound })); 46 return l.ToArray(); 54 return new object[] { names, lowerBounds, upperBounds }; 47 55 } 48 56 49 57 set { 50 foreach (var varInt in value) 51 intervals.Add(varInt.Key, new Interval(varInt.Value[0], varInt.Value[1])); 58 var names = (string[])value[0]; 59 var lowerBounds = (double[])value[1]; 60 var upperBounds = (double[])value[2]; 61 62 for (int i = 0; i < names.Length; i++) { 63 intervals.Add(names[i], new Interval(lowerBounds[i], upperBounds[i])); 64 } 52 65 } 53 66 } … … 80 93 public void SetInterval(string identifier, Interval interval) { 81 94 intervals[identifier] = interval; 95 RaiseChanged(); 82 96 } 83 97 84 98 public void AddInterval(string identifier, Interval interval) { 85 99 intervals.Add(identifier, interval); 100 RaiseChanged(); 86 101 } 87 102 88 103 public void DeleteInterval(string identifier) { 89 104 intervals.Remove(identifier); 105 RaiseChanged(); 90 106 } 91 107 92 108 public IReadOnlyDictionary<string, Interval> GetReadonlyDictionary() { 109 return intervals.ToDictionary(pair => pair.Key, pair => pair.Value); 110 } 111 112 public IDictionary<string, Interval> GetDictionary() { 93 113 return intervals.ToDictionary(pair => pair.Key, pair => pair.Value); 94 114 } … … 98 118 yield return Tuple.Create(variableInterval.Key, variableInterval.Value); 99 119 } 120 121 public event EventHandler Changed; 122 private void RaiseChanged() { 123 var handler = Changed; 124 if (handler != null) 125 handler(this, EventArgs.Empty); 126 } 127 100 128 } 101 129 }
Note: See TracChangeset
for help on using the changeset viewer.