package c.i.e.n; import java.util.Arrays; /* compiled from: BitMatrix */ public final class b implements Cloneable { public final int i; public final int j; public final int k; public final int[] l; public b(int i, int i2) { if (i <= 0 || i2 <= 0) { throw new IllegalArgumentException("Both dimensions must be greater than 0"); } this.i = i; this.j = i2; int i3 = (i + 31) / 32; this.k = i3; this.l = new int[(i3 * i2)]; } public b(int i, int i2, int i3, int[] iArr) { this.i = i; this.j = i2; this.k = i3; this.l = iArr; } public void b(int i, int i2) { int i3 = (i / 32) + (i2 * this.k); int[] iArr = this.l; iArr[i3] = (1 << (i & 31)) ^ iArr[i3]; } @Override // java.lang.Object public Object clone() throws CloneNotSupportedException { return new b(this.i, this.j, this.k, (int[]) this.l.clone()); } @Override // java.lang.Object public boolean equals(Object obj) { if (!(obj instanceof b)) { return false; } b bVar = (b) obj; return this.i == bVar.i && this.j == bVar.j && this.k == bVar.k && Arrays.equals(this.l, bVar.l); } public boolean f(int i, int i2) { return ((this.l[(i / 32) + (i2 * this.k)] >>> (i & 31)) & 1) != 0; } public int[] g() { int length = this.l.length - 1; while (length >= 0 && this.l[length] == 0) { length--; } if (length < 0) { return null; } int i = this.k; int i2 = length / i; int i3 = (length % i) << 5; int i4 = 31; while ((this.l[length] >>> i4) == 0) { i4--; } return new int[]{i3 + i4, i2}; } public a h(int i, a aVar) { int i2 = aVar.j; int i3 = this.i; if (i2 < i3) { aVar = new a(i3); } else { int length = aVar.i.length; for (int i4 = 0; i4 < length; i4++) { aVar.i[i4] = 0; } } int i5 = i * this.k; for (int i6 = 0; i6 < this.k; i6++) { aVar.i[(i6 << 5) / 32] = this.l[i5 + i6]; } return aVar; } @Override // java.lang.Object public int hashCode() { int i = this.i; return Arrays.hashCode(this.l) + (((((((i * 31) + i) * 31) + this.j) * 31) + this.k) * 31); } public int[] i() { int[] iArr; int i = 0; while (true) { iArr = this.l; if (i >= iArr.length || iArr[i] != 0) { break; } i++; } if (i == iArr.length) { return null; } int i2 = this.k; int i3 = i / i2; int i4 = (i % i2) << 5; int i5 = iArr[i]; int i6 = 0; while ((i5 << (31 - i6)) == 0) { i6++; } return new int[]{i4 + i6, i3}; } public void j(int i, int i2) { int i3 = (i / 32) + (i2 * this.k); int[] iArr = this.l; iArr[i3] = (1 << (i & 31)) | iArr[i3]; } public void k(int i, int i2, int i3, int i4) { if (i2 < 0 || i < 0) { throw new IllegalArgumentException("Left and top must be nonnegative"); } else if (i4 <= 0 || i3 <= 0) { throw new IllegalArgumentException("Height and width must be at least 1"); } else { int i5 = i3 + i; int i6 = i4 + i2; if (i6 > this.j || i5 > this.i) { throw new IllegalArgumentException("The region must fit inside the matrix"); } while (i2 < i6) { int i7 = this.k * i2; for (int i8 = i; i8 < i5; i8++) { int[] iArr = this.l; int i9 = (i8 / 32) + i7; iArr[i9] = iArr[i9] | (1 << (i8 & 31)); } i2++; } } } @Override // java.lang.Object public String toString() { StringBuilder sb = new StringBuilder((this.i + 1) * this.j); for (int i = 0; i < this.j; i++) { for (int i2 = 0; i2 < this.i; i2++) { sb.append(f(i2, i) ? "X " : " "); } sb.append("\n"); } return sb.toString(); } }