Author: tilman Date: Wed Mar 5 20:39:29 2014 New Revision: 1574653 URL: http://svn.apache.org/r1574653 Log: PDFBOX-1876: Fix Type 4 Function used in PDFBOX-1876 and its test
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunctionType4.java pdfbox/branches/1.8/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/function/TestPDFunctionType4.java Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunctionType4.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunctionType4.java?rev=1574653&r1=1574652&r2=1574653&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunctionType4.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunctionType4.java Wed Mar 5 20:39:29 2014 @@ -67,9 +67,8 @@ public class PDFunctionType4 extends PDF public float[] eval(float[] input) throws IOException { //Setup the input values - int numberOfInputValues = input.length; ExecutionContext context = new ExecutionContext(OPERATORS); - for (int i = numberOfInputValues - 1; i >= 0; i--) + for (int i = 0; i < input.length; i++) { PDRange domain = getDomainForInput(i); float value = clipToRange(input[i], domain.getMin(), domain.getMax()); Modified: pdfbox/branches/1.8/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/function/TestPDFunctionType4.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/function/TestPDFunctionType4.java?rev=1574653&r1=1574652&r2=1574653&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/function/TestPDFunctionType4.java (original) +++ pdfbox/branches/1.8/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/function/TestPDFunctionType4.java Wed Mar 5 20:39:29 2014 @@ -98,19 +98,16 @@ public class TestPDFunctionType4 extends public void testFunctionArgumentOrder() throws Exception { String functionText = "{ pop }"; - //pops the top-most argument and returns the second as is. + // pops an argument (2nd) and returns the next argument (1st) PDFunctionType4 function = createFunction(functionText, new float[] {-1.0f, 1.0f, -1.0f, 1.0f}, new float[] {-1.0f, 1.0f}); - COSArray input = new COSArray(); - input.setFloatArray(new float[] {-0.7f, 0.0f}); - COSArray output = function.eval(input); + float[] input = new float[] {-0.7f, 0.0f }; + float[] output = function.eval(input); - assertEquals(1, output.size()); - assertEquals(0.0f, ((COSFloat)output.get(0)).floatValue(), 0.0001f); - //TODO not sure if this is really correct + assertEquals(1, output.length); + assertEquals(-0.7f, output[0], 0.0001f); } - }