You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/07/11 07:18:29 UTC

svn commit: r1609632 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java

Author: tilman
Date: Fri Jul 11 05:18:29 2014
New Revision: 1609632

URL: http://svn.apache.org/r1609632
Log:
PDFBOX-2117: optimizations by Shaola Ren, GSoC2014

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java?rev=1609632&r1=1609631&r2=1609632&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java Fri Jul 11 05:18:29 2014
@@ -322,7 +322,7 @@ public abstract class PDFunction impleme
     protected float[] clipToRange(float[] inputValues) 
     {
         COSArray rangesArray = getRangeValues();
-        float[] result = null;
+        float[] result;
         if (rangesArray != null) 
         {
             float[] rangeValues = rangesArray.toFloatArray();
@@ -330,7 +330,8 @@ public abstract class PDFunction impleme
             result = new float[numberOfRanges];
             for (int i=0; i<numberOfRanges; i++)
             {
-                result[i] = clipToRange(inputValues[i], rangeValues[2*i], rangeValues[2*i+1]);
+                int index = i << 1;
+                result[i] = clipToRange(inputValues[i], rangeValues[index], rangeValues[index + 1]);
             }
         }
         else
@@ -351,7 +352,15 @@ public abstract class PDFunction impleme
      */
     protected float clipToRange(float x, float rangeMin, float rangeMax) 
     {
-        return Math.min(Math.max(x, rangeMin), rangeMax);
+        if (x < rangeMin)
+        {
+            return rangeMin;
+        }
+        else if (x > rangeMax)
+        {
+            return rangeMax;
+        }
+        return x;
     }
 
     /**