Restored a corrected Reed-Solomon optimization and fixed a small issue in black box...
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 26 Mar 2008 16:22:02 +0000 (16:22 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 26 Mar 2008 16:22:02 +0000 (16:22 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@316 59b500cc-1b3d-0410-9834-0bbf25fbcc57

core/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java
core/test/src/com/google/zxing/common/AbstractBlackBoxTestCase.java

index e50891b..2827e73 100644 (file)
@@ -138,9 +138,9 @@ public final class ReedSolomonDecoder {
   private int[] findErrorLocations(GF256Poly errorLocator) throws ReedSolomonException {
     // This is a direct application of Chien's search
     int numErrors = errorLocator.getDegree();
-    //if (numErrors == 1) { // shortcut
-    //  return new int[] { errorLocator.getCoefficient(1) };
-    //}
+    if (numErrors == 1) { // shortcut
+      return new int[] { errorLocator.getCoefficient(1) };
+    }
     int[] result = new int[numErrors];
     int e = 0;
     for (int i = 1; i < 256 && e < numErrors; i++) {
@@ -158,9 +158,6 @@ public final class ReedSolomonDecoder {
   private int[] findErrorMagnitudes(GF256Poly errorEvaluator, int[] errorLocations) {
     // This is directly applying Forney's Formula
     int s = errorLocations.length;
-    //if (s == 1) { // shortcut
-    //  return new int[] { errorEvaluator.getCoefficient(0) };
-    //}
     int[] result = new int[s];
     for (int i = 0; i < s; i++) {
       int xiInverse = field.inverse(errorLocations[i]);
index f1a9075..94ccc5e 100644 (file)
@@ -108,7 +108,7 @@ public abstract class AbstractBlackBoxTestCase extends TestCase {
       if (passed) {
         passedCount++;
       } else {
-        System.out.println("Mismatch: expected '" + expectedText + "' but got '" + resultText + '\'');
+        fail("Mismatch: expected '" + expectedText + "' but got '" + resultText + '\'');
       }
 
       // Try "try harder" mode