Changeset 5009 for branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encodings/RangeConstraints/DoubleValueRange.cs
- Timestamp:
- 12/01/10 20:37:36 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encodings/RangeConstraints/DoubleValueRange.cs
r4997 r5009 5 5 using HeuristicLab.Data; 6 6 using HeuristicLab.Common; 7 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Core; 7 9 8 10 namespace HeuristicLab.Problems.MetaOptimization { 11 [StorableClass] 9 12 public class DoubleValueRange : Range<DoubleValue> { 10 13 11 14 public DoubleValueRange(DoubleValue lowerBound, DoubleValue upperBound, DoubleValue stepSize) : base(lowerBound, upperBound, stepSize) { } 12 15 public DoubleValueRange() { } 16 [StorableConstructor] 17 protected DoubleValueRange(bool deserializing) : base(deserializing) { } 13 18 protected DoubleValueRange(DoubleValueRange original, Cloner cloner) : base(original, cloner) { } 14 19 public override IDeepCloneable Clone(Cloner cloner) { … … 16 21 } 17 22 18 public override DoubleValue GetRandomValue() { 19 Random rand = new Random(); // todo: use common random 23 public override DoubleValue GetRandomValue(IRandom random) { 20 24 double val; 21 25 do { 22 val = Math.Round((rand .NextDouble() * (UpperBound.Value - LowerBound.Value) + LowerBound.Value) / StepSize.Value, 0) * StepSize.Value;26 val = Math.Round((random.NextDouble() * (UpperBound.Value - LowerBound.Value) + LowerBound.Value) / StepSize.Value, 0) * StepSize.Value; 23 27 } while (val < LowerBound.Value || val > UpperBound.Value); 24 28 return new DoubleValue(val);
Note: See TracChangeset
for help on using the changeset viewer.