diff --git a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java index 17ca88b8f..0123f45db 100755 --- a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java +++ b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java @@ -695,7 +695,7 @@ public class FinderPatternFinder { // we need to check both two equal sides separately. // The value of |c^2 - 2 * b^2| + |c^2 - 2 * a^2| increases as dissimilarity // from isosceles right triangle. - double d = Math.abs(c - 2 * b) + Math.abs(c - 2 * a); + double d = Math.abs(c * c - 2 * b * b) + Math.abs(c * c - 2 * a * a); if (d < distortion) { distortion = d; bestPatterns[0] = fpi; diff --git a/core/src/test/java/com/google/zxing/qrcode/QRCodeBlackBox3TestCase.java b/core/src/test/java/com/google/zxing/qrcode/QRCodeBlackBox3TestCase.java index 9968608f8..c521ac5cb 100644 --- a/core/src/test/java/com/google/zxing/qrcode/QRCodeBlackBox3TestCase.java +++ b/core/src/test/java/com/google/zxing/qrcode/QRCodeBlackBox3TestCase.java @@ -29,8 +29,8 @@ public final class QRCodeBlackBox3TestCase extends AbstractBlackBoxTestCase { super("src/test/resources/blackbox/qrcode-3", new MultiFormatReader(), BarcodeFormat.QR_CODE); addTest(38, 38, 0.0f); addTest(39, 39, 90.0f); - addTest(36, 36, 180.0f); - addTest(39, 39, 270.0f); + addTest(33, 33, 180.0f); + addTest(38, 38, 270.0f); } }