Index: trunk/sources/HeuristicLab.Random/NormalRandomAdder.cs
===================================================================
--- trunk/sources/HeuristicLab.Random/NormalRandomAdder.cs	(revision 468)
+++ trunk/sources/HeuristicLab.Random/NormalRandomAdder.cs	(revision 469)
@@ -88,8 +88,6 @@
 
       public override void Visit(ConstrainedDoubleData data) {
-
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
           double newValue = data.Data + normal.NextDouble();
-
           if(IsIntegerConstrained(data)) {
             newValue = Math.Round(newValue);
@@ -99,5 +97,4 @@
           }
         }
-
         throw new InvalidProgramException("Coudn't find a valid value");
       }
@@ -112,5 +109,4 @@
             return;
         }
-
         throw new InvalidProgramException("Couldn't find a valid value.");
       }
Index: trunk/sources/HeuristicLab.Random/NormalRandomizer.cs
===================================================================
--- trunk/sources/HeuristicLab.Random/NormalRandomizer.cs	(revision 468)
+++ trunk/sources/HeuristicLab.Random/NormalRandomizer.cs	(revision 469)
@@ -79,9 +79,7 @@
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
           double r = normal.NextDouble();
-
           if(IsIntegerConstrained(data)) {
             r = Math.Round(r);
           }
-
           if(data.TrySetData(r)) {
             return;
@@ -92,11 +90,9 @@
 
       public override void Visit(ConstrainedIntData data) {
-
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
           double r = normal.NextDouble();
-          if(data.TrySetData((int)Math.Round(r)))
+          if(data.TrySetData((int)Math.Round(r))) // since r is a continuous normally distributed random variable rounding should be OK
             return;
         }
-
         throw new InvalidProgramException("Couldn't find a valid value");
       }
Index: trunk/sources/HeuristicLab.Random/UniformRandomAdder.cs
===================================================================
--- trunk/sources/HeuristicLab.Random/UniformRandomAdder.cs	(revision 468)
+++ trunk/sources/HeuristicLab.Random/UniformRandomAdder.cs	(revision 469)
@@ -43,11 +43,11 @@
     public UniformRandomAdder() {
       AddVariableInfo(new VariableInfo("Value", "The value to manipulate (type is one of: IntData, ConstrainedIntData, DoubleData, ConstrainedDoubleData)", typeof(IObjectData), VariableKind.In));
-      AddVariableInfo(new VariableInfo("ShakingFactor", "Determines the force of the shaking factor.", typeof(DoubleData), VariableKind.In));
+      AddVariableInfo(new VariableInfo("ShakingFactor", "Determines the force of the shaking factor", typeof(DoubleData), VariableKind.In));
       AddVariableInfo(new VariableInfo("Random", "The random generator to use", typeof(MersenneTwister), VariableKind.In));
-      AddVariableInfo(new VariableInfo("Min", "Lower bound of the uniform distribution.", typeof(DoubleData), VariableKind.None));
+      AddVariableInfo(new VariableInfo("Min", "Lower bound of the uniform distribution (inclusive)", typeof(DoubleData), VariableKind.None));
       GetVariableInfo("Min").Local = true;
       AddVariable(new Variable("Min", new DoubleData(-1.0)));
 
-      AddVariableInfo(new VariableInfo("Max", "Upper bound of the uniform distribution", typeof(DoubleData), VariableKind.None));
+      AddVariableInfo(new VariableInfo("Max", "Upper bound of the uniform distribution (exclusive)", typeof(DoubleData), VariableKind.None));
       GetVariableInfo("Max").Local = true;
       AddVariable(new Variable("Max", new DoubleData(1.0)));
@@ -84,18 +84,13 @@
 
       public override void Visit(ConstrainedDoubleData data) {
-
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
-
           double newValue = data.Data + mt.NextDouble() * (max - min) + min;
-
           if(IsIntegerConstrained(data)) {
-            newValue = Math.Round(newValue);
+            newValue = Math.Floor(newValue);
           }
-
           if(data.TrySetData(newValue)) {
             return;
           }
         }
-
         throw new InvalidProgramException("Couldn't find a valid value");
       }
@@ -103,6 +98,5 @@
       public override void Visit(ConstrainedIntData data) {
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
-          int newValue = (int)Math.Round(data.Data + mt.NextDouble() * (max - min) + min);
-
+          int newValue = (int)Math.Floor(data.Data + mt.NextDouble() * (max - min) + min);
           if(data.TrySetData(newValue)) {
             return;
@@ -117,5 +111,5 @@
 
       public override void Visit(IntData data) {
-        data.Data = (int)Math.Round(data.Data + mt.NextDouble() * (max - min) + min);
+        data.Data = (int)Math.Floor(data.Data + mt.NextDouble() * (max - min) + min);
       }
       private bool IsIntegerConstrained(ConstrainedDoubleData data) {
Index: trunk/sources/HeuristicLab.Random/UniformRandomizer.cs
===================================================================
--- trunk/sources/HeuristicLab.Random/UniformRandomizer.cs	(revision 468)
+++ trunk/sources/HeuristicLab.Random/UniformRandomizer.cs	(revision 469)
@@ -46,9 +46,9 @@
       AddVariableInfo(new VariableInfo("Value", "The value to manipulate (type is one of: IntData, ConstrainedIntData, DoubleData, ConstrainedDoubleData)", typeof(IObjectData), VariableKind.In));
       AddVariableInfo(new VariableInfo("Random", "The random generator to use", typeof(MersenneTwister), VariableKind.In));
-      AddVariableInfo(new VariableInfo("Min", "Lower bound of the uniform distribution", typeof(DoubleData), VariableKind.None));
+      AddVariableInfo(new VariableInfo("Min", "Lower bound of the uniform distribution (inclusive)", typeof(DoubleData), VariableKind.None));
       GetVariableInfo("Min").Local = true;
       AddVariable(new Variable("Min", new DoubleData(0.0)));
 
-      AddVariableInfo(new VariableInfo("Max", "Upper bound of the uniform distribution", typeof(DoubleData), VariableKind.None));
+      AddVariableInfo(new VariableInfo("Max", "Upper bound of the uniform distribution (exclusive)", typeof(DoubleData), VariableKind.None));
       GetVariableInfo("Max").Local = true;
       AddVariable(new Variable("Max", new DoubleData(1.0)));
@@ -82,29 +82,23 @@
 
       public override void Visit(IntData data) {
-        data.Data = (int)Math.Round(mt.NextDouble() * (max - min) + min);
+        data.Data = (int)Math.Floor(mt.NextDouble() * (max - min) + min);
       }
 
       public override void Visit(ConstrainedDoubleData data) {
-
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
           double r = mt.NextDouble() * (max - min) + min;
-
           if(IsIntegerConstrained(data)) {
-            r = Math.Round(r);
+            r = Math.Floor(r);
           }
-
           if(data.TrySetData(r)) {
             return;
           }
         }
-
         throw new InvalidProgramException("Couldn't find a valid value");
       }
 
       public override void Visit(ConstrainedIntData data) {
-
         for(int tries = MAX_NUMBER_OF_TRIES; tries >= 0; tries--) {
-          int r = (int)Math.Round(mt.NextDouble() * (max - min) + min);
-
+          int r = (int)Math.Floor(mt.NextDouble() * (max - min) + min);
           if(data.TrySetData(r)) {
             return;
