package com.google.zxing.common; import java.util.Arrays; /* loaded from: classes.dex */ public final class BitArray implements Cloneable { private int[] a; private int b; public BitArray() { this.b = 0; this.a = new int[1]; } private void e(int i) { if (i > (this.a.length << 5)) { int[] f = f(i); int[] iArr = this.a; System.arraycopy(iArr, 0, f, 0, iArr.length); this.a = f; } } private static int[] f(int i) { return new int[(i + 31) / 32]; } public boolean a(int i) { return ((1 << (i & 31)) & this.a[i / 32]) != 0; } public int b(int i) { int i2 = this.b; if (i >= i2) { return i2; } int i3 = i / 32; int i4 = (~((1 << (i & 31)) - 1)) & this.a[i3]; while (i4 == 0) { i3++; int[] iArr = this.a; if (i3 == iArr.length) { return this.b; } i4 = iArr[i3]; } int numberOfTrailingZeros = (i3 << 5) + Integer.numberOfTrailingZeros(i4); int i5 = this.b; return numberOfTrailingZeros > i5 ? i5 : numberOfTrailingZeros; } public int c(int i) { int i2 = this.b; if (i >= i2) { return i2; } int i3 = i / 32; int i4 = (~((1 << (i & 31)) - 1)) & (~this.a[i3]); while (i4 == 0) { i3++; int[] iArr = this.a; if (i3 == iArr.length) { return this.b; } i4 = ~iArr[i3]; } int numberOfTrailingZeros = (i3 << 5) + Integer.numberOfTrailingZeros(i4); int i5 = this.b; return numberOfTrailingZeros > i5 ? i5 : numberOfTrailingZeros; } public void d(int i) { int[] iArr = this.a; int i2 = i / 32; iArr[i2] = (1 << (i & 31)) | iArr[i2]; } public boolean equals(Object obj) { if (!(obj instanceof BitArray)) { return false; } BitArray bitArray = (BitArray) obj; return this.b == bitArray.b && Arrays.equals(this.a, bitArray.a); } public int h() { return this.b; } public int hashCode() { return (this.b * 31) + Arrays.hashCode(this.a); } public int i() { return (this.b + 7) / 8; } public void j() { int[] iArr = new int[this.a.length]; int i = (this.b - 1) / 32; int i2 = i + 1; for (int i3 = 0; i3 < i2; i3++) { long j = this.a[i3]; long j2 = ((j & 1431655765) << 1) | ((j >> 1) & 1431655765); long j3 = ((j2 & 858993459) << 2) | ((j2 >> 2) & 858993459); long j4 = ((j3 & 252645135) << 4) | ((j3 >> 4) & 252645135); long j5 = ((j4 & 16711935) << 8) | ((j4 >> 8) & 16711935); iArr[i - i3] = (int) (((j5 & 65535) << 16) | ((j5 >> 16) & 65535)); } int i4 = this.b; int i5 = i2 << 5; if (i4 != i5) { int i6 = i5 - i4; int i7 = iArr[0] >>> i6; for (int i8 = 1; i8 < i2; i8++) { int i9 = iArr[i8]; iArr[i8 - 1] = i7 | (i9 << (32 - i6)); i7 = i9 >>> i6; } iArr[i2 - 1] = i7; } this.a = iArr; } public String toString() { int i = this.b; StringBuilder sb = new StringBuilder(i + (i / 8) + 1); for (int i2 = 0; i2 < this.b; i2++) { if ((i2 & 7) == 0) { sb.append(' '); } sb.append(a(i2) ? 'X' : '.'); } return sb.toString(); } public void a() { int length = this.a.length; for (int i = 0; i < length; i++) { this.a[i] = 0; } } /* renamed from: clone, reason: merged with bridge method [inline-methods] */ public BitArray m14clone() { return new BitArray((int[]) this.a.clone(), this.b); } public BitArray(int i) { this.b = i; this.a = f(i); } public boolean a(int i, int i2, boolean z) { if (i2 < i || i < 0 || i2 > this.b) { throw new IllegalArgumentException(); } if (i2 == i) { return true; } int i3 = i2 - 1; int i4 = i / 32; int i5 = i3 / 32; int i6 = i4; while (i6 <= i5) { int i7 = (2 << (i6 >= i5 ? 31 & i3 : 31)) - (1 << (i6 > i4 ? 0 : i & 31)); int i8 = this.a[i6] & i7; if (!z) { i7 = 0; } if (i8 != i7) { return false; } i6++; } return true; } BitArray(int[] iArr, int i) { this.a = iArr; this.b = i; } public void a(boolean z) { e(this.b + 1); if (z) { int[] iArr = this.a; int i = this.b; int i2 = i / 32; iArr[i2] = (1 << (i & 31)) | iArr[i2]; } this.b++; } public void b(int i, int i2) { this.a[i / 32] = i2; } public void b(BitArray bitArray) { if (this.b != bitArray.b) { throw new IllegalArgumentException("Sizes don't match"); } int i = 0; while (true) { int[] iArr = this.a; if (i >= iArr.length) { return; } iArr[i] = iArr[i] ^ bitArray.a[i]; i++; } } public void a(int i, int i2) { if (i2 >= 0 && i2 <= 32) { e(this.b + i2); while (i2 > 0) { boolean z = true; if (((i >> (i2 - 1)) & 1) != 1) { z = false; } a(z); i2--; } return; } throw new IllegalArgumentException("Num bits must be between 0 and 32"); } public int[] b() { return this.a; } public void a(BitArray bitArray) { int i = bitArray.b; e(this.b + i); for (int i2 = 0; i2 < i; i2++) { a(bitArray.a(i2)); } } public void a(int i, byte[] bArr, int i2, int i3) { int i4 = i; int i5 = 0; while (i5 < i3) { int i6 = i4; int i7 = 0; for (int i8 = 0; i8 < 8; i8++) { if (a(i6)) { i7 |= 1 << (7 - i8); } i6++; } bArr[i2 + i5] = (byte) i7; i5++; i4 = i6; } } }