commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t.@apache.org
Subject svn commit: r1364318 - in /commons/proper/math/trunk/src: changes/changes.xml main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java
Date Sun, 22 Jul 2012 15:00:53 GMT
Author: tn
Date: Sun Jul 22 15:00:52 2012
New Revision: 1364318

URL: http://svn.apache.org/viewvc?rev=1364318&view=rev
Log:
[MATH-578] Improve performance of quantile evaluation in Percentile for special cases.

Modified:
    commons/proper/math/trunk/src/changes/changes.xml
    commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java

Modified: commons/proper/math/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/changes/changes.xml?rev=1364318&r1=1364317&r2=1364318&view=diff
==============================================================================
--- commons/proper/math/trunk/src/changes/changes.xml (original)
+++ commons/proper/math/trunk/src/changes/changes.xml Sun Jul 22 15:00:52 2012
@@ -52,6 +52,10 @@ If the output is not quite correct, chec
   <body>
     <release version="3.1" date="TBD" description="
 ">
+      <action dev="tn" type="fix" issue="MATH-578">
+        Improve performance of quantile evaluation in Percentile class for cases
+        with lots of equal values.
+      </action>
       <action dev="erans" type="add" issue="MATH-797">
         New framework for Gauss integration schemes (in package
         "o.a.c.m.analysis.integration.gauss").

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java?rev=1364318&r1=1364317&r2=1364318&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java
(original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/rank/Percentile.java
Sun Jul 22 15:00:52 2012
@@ -333,11 +333,11 @@ public class Percentile extends Abstract
             } else if (k < pivot) {
                 // the element is in the left partition
                 end  = pivot;
-                node = Math.min(2 * node + 1, pivotsHeap.length); // the min is here to avoid
integer overflow
+                node = FastMath.min(2 * node + 1, pivotsHeap.length); // the min is here
to avoid integer overflow
             } else {
                 // the element is in the right partition
                 begin = pivot + 1;
-                node  = Math.min(2 * node + 2, pivotsHeap.length); // the min is here to
avoid integer overflow
+                node  = FastMath.min(2 * node + 2, pivotsHeap.length); // the min is here
to avoid integer overflow
             }
 
         }
@@ -401,10 +401,10 @@ public class Percentile extends Abstract
         int i = begin + 1;
         int j = end - 1;
         while (i < j) {
-            while ((i < j) && (work[j] >= value)) {
+            while ((i < j) && (work[j] > value)) {
                 --j;
             }
-            while ((i < j) && (work[i] <= value)) {
+            while ((i < j) && (work[i] < value)) {
                 ++i;
             }
 



Mime
View raw message