Repository: commons-math
Updated Branches:
  refs/heads/MATH_3_X d41364faa -> 13abd04b4


Corrected the fix for MATH-1208.


Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/13abd04b
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/13abd04b
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/13abd04b

Branch: refs/heads/MATH_3_X
Commit: 13abd04b4633293153034e0348c5dc09ac8bd703
Parents: d41364f
Author: Phil Steitz <[email protected]>
Authored: Mon Mar 9 12:49:12 2015 -0700
Committer: Phil Steitz <[email protected]>
Committed: Mon Mar 9 12:49:12 2015 -0700

----------------------------------------------------------------------
 .../apache/commons/math3/random/EmpiricalDistribution.java   | 6 +++++-
 .../commons/math3/random/EmpiricalDistributionTest.java      | 8 ++++----
 2 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/13abd04b/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java 
b/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
index c2323fc..f5c920b 100644
--- a/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
+++ b/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
@@ -637,7 +637,11 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
         final double pB = pB(binIndex);
         final RealDistribution kernel = k(x);
         if (kernel instanceof ConstantRealDistribution) {
-            return pBminus + pB;
+            if (x < kernel.getNumericalMean()) {
+                return pBminus;
+            } else {
+                return pBminus + pB;
+            }
         }
         final double[] binBounds = getUpperBounds();
         final double kB = kB(binIndex);

http://git-wip-us.apache.org/repos/asf/commons-math/blob/13abd04b/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java 
b/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
index abc96f2..23dd346 100644
--- 
a/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
+++ 
b/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
@@ -448,7 +448,7 @@ public final class EmpiricalDistributionTest extends 
RealDistributionAbstractTes
         Assert.assertEquals(0.5, dist.cumulativeProbability(0), 
Double.MIN_VALUE);
         Assert.assertEquals(1.0, dist.cumulativeProbability(1), 
Double.MIN_VALUE);
         Assert.assertEquals(0.5, dist.cumulativeProbability(0.5), 
Double.MIN_VALUE);
-        Assert.assertEquals(1.0, dist.cumulativeProbability(0.7), 
Double.MIN_VALUE);
+        Assert.assertEquals(0.5, dist.cumulativeProbability(0.7), 
Double.MIN_VALUE);
     }   
     
     /**
@@ -488,11 +488,11 @@ public final class EmpiricalDistributionTest extends 
RealDistributionAbstractTes
             Assert.assertTrue(Arrays.binarySearch(values, dist.sample()) >= 0);
         }
         final double tol = 10E-12;
-        Assert.assertEquals(0.2, dist.cumulativeProbability(1), tol);
+        Assert.assertEquals(0.0, dist.cumulativeProbability(1), tol);
         Assert.assertEquals(0.2, dist.cumulativeProbability(2), tol);
-        Assert.assertEquals(0.8, dist.cumulativeProbability(10), tol);
+        Assert.assertEquals(0.6, dist.cumulativeProbability(10), tol);
         Assert.assertEquals(0.8, dist.cumulativeProbability(12), tol);
-        Assert.assertEquals(1.0, dist.cumulativeProbability(13), tol);
+        Assert.assertEquals(0.8, dist.cumulativeProbability(13), tol);
         Assert.assertEquals(1.0, dist.cumulativeProbability(15), tol);
 
         Assert.assertEquals(2.0, dist.inverseCumulativeProbability(0.1), tol);

Reply via email to