More minor code improvements

git-svn-id: https://zxing.googlecode.com/svn/trunk@248 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
srowen 2008-03-05 21:55:18 +00:00
parent d028e94082
commit 513479cf20
3 changed files with 12 additions and 10 deletions

View file

@ -27,6 +27,9 @@ public final class BitArray {
private final int size; private final int size;
public BitArray(int size) { public BitArray(int size) {
if (size < 1) {
throw new IllegalArgumentException("size must be at least 1");
}
this.size = size; this.size = size;
this.bits = makeArray(size); this.bits = makeArray(size);
} }

View file

@ -44,16 +44,17 @@ final class GF256Poly {
throw new IllegalArgumentException(); throw new IllegalArgumentException();
} }
this.field = field; this.field = field;
if (coefficients.length > 1 && coefficients[0] == 0) { int coefficientsLength = coefficients.length;
if (coefficientsLength > 1 && coefficients[0] == 0) {
// Leading term must be non-zero for anything except the constant polynomial "0" // Leading term must be non-zero for anything except the constant polynomial "0"
int firstNonZero = 1; int firstNonZero = 1;
while (firstNonZero < coefficients.length && coefficients[firstNonZero] == 0) { while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) {
firstNonZero++; firstNonZero++;
} }
if (firstNonZero == coefficients.length) { if (firstNonZero == coefficientsLength) {
this.coefficients = field.getZero().coefficients; this.coefficients = field.getZero().coefficients;
} else { } else {
this.coefficients = new int[coefficients.length - firstNonZero]; this.coefficients = new int[coefficientsLength - firstNonZero];
System.arraycopy(coefficients, System.arraycopy(coefficients,
firstNonZero, firstNonZero,
this.coefficients, this.coefficients,
@ -190,9 +191,8 @@ final class GF256Poly {
} }
int size = coefficients.length; int size = coefficients.length;
int[] product = new int[size]; int[] product = new int[size];
System.arraycopy(coefficients, 0, product, 0, size);
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
product[i] = field.multiply(product[i], scalar); product[i] = field.multiply(coefficients[i], scalar);
} }
return new GF256Poly(field, product); return new GF256Poly(field, product);
} }
@ -206,9 +206,8 @@ final class GF256Poly {
} }
int size = coefficients.length; int size = coefficients.length;
int[] product = new int[size + degree]; int[] product = new int[size + degree];
System.arraycopy(coefficients, 0, product, 0, size);
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
product[i] = field.multiply(product[i], coefficient); product[i] = field.multiply(coefficients[i], coefficient);
} }
return new GF256Poly(field, product); return new GF256Poly(field, product);
} }

View file

@ -40,14 +40,14 @@ final class DecodedBitStreamParser {
' ', '$', '%', '*', '+', '-', '.', '/', ':' ' ', '$', '%', '*', '+', '-', '.', '/', ':'
}; };
private static final String SHIFT_JIS = "Shift_JIS"; private static final String SHIFT_JIS = "Shift_JIS";
private static final String EUC_JP = "EUC-JP";
private static final boolean ASSUME_SHIFT_JIS; private static final boolean ASSUME_SHIFT_JIS;
private static final String UTF8 = "UTF-8"; private static final String UTF8 = "UTF-8";
private static final String ISO88591 = "ISO-8859-1"; private static final String ISO88591 = "ISO-8859-1";
static { static {
String platformDefault = System.getProperty("file.encoding"); String platformDefault = System.getProperty("file.encoding");
ASSUME_SHIFT_JIS = SHIFT_JIS.equalsIgnoreCase(platformDefault) || ASSUME_SHIFT_JIS = SHIFT_JIS.equalsIgnoreCase(platformDefault) || EUC_JP.equalsIgnoreCase(platformDefault);
"EUC-JP".equalsIgnoreCase(platformDefault);
} }
private DecodedBitStreamParser() { private DecodedBitStreamParser() {