package com.google.zxing.common; import java.util.Arrays; /* loaded from: classes3.dex */ public final class BitArray implements Cloneable { public int[] bits; public int size; public int getSize() { return this.size; } public BitArray() { this.size = 0; this.bits = new int[1]; } public BitArray(int[] iArr, int i) { this.bits = iArr; this.size = i; } public int getSizeInBytes() { return (this.size + 7) / 8; } public final void ensureCapacity(int i) { if (i > (this.bits.length << 5)) { int[] makeArray = makeArray(i); int[] iArr = this.bits; System.arraycopy(iArr, 0, makeArray, 0, iArr.length); this.bits = makeArray; } } public boolean get(int i) { return ((1 << (i & 31)) & this.bits[i / 32]) != 0; } public void appendBit(boolean z) { ensureCapacity(this.size + 1); if (z) { int[] iArr = this.bits; int i = this.size; int i2 = i / 32; iArr[i2] = (1 << (i & 31)) | iArr[i2]; } this.size++; } public void appendBits(int i, int i2) { if (i2 < 0 || i2 > 32) { throw new IllegalArgumentException("Num bits must be between 0 and 32"); } ensureCapacity(this.size + i2); while (i2 > 0) { boolean z = true; if (((i >> (i2 - 1)) & 1) != 1) { z = false; } appendBit(z); i2--; } } public void appendBitArray(BitArray bitArray) { int i = bitArray.size; ensureCapacity(this.size + i); for (int i2 = 0; i2 < i; i2++) { appendBit(bitArray.get(i2)); } } public void xor(BitArray bitArray) { if (this.size != bitArray.size) { throw new IllegalArgumentException("Sizes don't match"); } int i = 0; while (true) { int[] iArr = this.bits; if (i >= iArr.length) { return; } iArr[i] = iArr[i] ^ bitArray.bits[i]; i++; } } public void toBytes(int i, byte[] bArr, int i2, int i3) { for (int i4 = 0; i4 < i3; i4++) { int i5 = 0; for (int i6 = 0; i6 < 8; i6++) { if (get(i)) { i5 |= 1 << (7 - i6); } i++; } bArr[i2 + i4] = (byte) i5; } } public static int[] makeArray(int i) { return new int[(i + 31) / 32]; } public boolean equals(Object obj) { if (!(obj instanceof BitArray)) { return false; } BitArray bitArray = (BitArray) obj; return this.size == bitArray.size && Arrays.equals(this.bits, bitArray.bits); } public int hashCode() { return (this.size * 31) + Arrays.hashCode(this.bits); } public String toString() { int i = this.size; StringBuilder sb = new StringBuilder(i + (i / 8) + 1); for (int i2 = 0; i2 < this.size; i2++) { if ((i2 & 7) == 0) { sb.append(' '); } sb.append(get(i2) ? 'X' : '.'); } return sb.toString(); } /* renamed from: clone, reason: merged with bridge method [inline-methods] */ public BitArray m858clone() { return new BitArray((int[]) this.bits.clone(), this.size); } }