diff --git a/src/Numerics/Statistics/Histogram.cs b/src/Numerics/Statistics/Histogram.cs
index 06142da9..b86b44b2 100644
--- a/src/Numerics/Statistics/Histogram.cs
+++ b/src/Numerics/Statistics/Histogram.cs
@@ -344,7 +344,7 @@ namespace MathNet.Numerics.Statistics
// Sort if needed.
LazySort();
- if (d < LowerBound)
+ if (d <= LowerBound)
{
// Make the lower bound just slightly smaller than the datapoint so it is contained in this bucket.
_buckets[0].LowerBound = d.Decrement();
diff --git a/src/UnitTests/StatisticsTests/HistogramTests.cs b/src/UnitTests/StatisticsTests/HistogramTests.cs
index c5f79e5b..79bbaf29 100644
--- a/src/UnitTests/StatisticsTests/HistogramTests.cs
+++ b/src/UnitTests/StatisticsTests/HistogramTests.cs
@@ -348,6 +348,18 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Assert.AreEqual(3, h[0].Count);
}
+ ///
+ /// Add data equal to the lower bound of a histogram.
+ ///
+ [Test]
+ public void AddDataEqualToLowerBound()
+ {
+ var h = new Histogram(new[] { 1.0, 5.0, 10.0 }, 3, 0.0, 10.0);
+ Assert.DoesNotThrow(() => h.AddData(0.0));
+
+ Assert.AreEqual(2, h[0].Count);
+ }
+
///
/// Small dataset histogram without bounds.
///