package com.google.zxing.common.reedsolomon; /* loaded from: classes.dex */ final class GenericGFPoly { private final GenericGF a; private final int[] b; GenericGFPoly(GenericGF genericGF, int[] iArr) { if (iArr.length == 0) { throw new IllegalArgumentException(); } this.a = genericGF; int length = iArr.length; if (length <= 1 || iArr[0] != 0) { this.b = iArr; return; } int i = 1; while (i < length && iArr[i] == 0) { i++; } if (i == length) { this.b = new int[]{0}; return; } this.b = new int[length - i]; int[] iArr2 = this.b; System.arraycopy(iArr, i, iArr2, 0, iArr2.length); } int[] a() { return this.b; } int b() { return this.b.length - 1; } boolean c() { return this.b[0] == 0; } public String toString() { StringBuilder sb = new StringBuilder(b() * 8); for (int b = b(); b >= 0; b--) { int b2 = b(b); if (b2 != 0) { if (b2 < 0) { sb.append(" - "); b2 = -b2; } else if (sb.length() > 0) { sb.append(" + "); } if (b == 0 || b2 != 1) { int c = this.a.c(b2); if (c == 0) { sb.append('1'); } else if (c == 1) { sb.append('a'); } else { sb.append("a^"); sb.append(c); } } if (b != 0) { if (b == 1) { sb.append('x'); } else { sb.append("x^"); sb.append(b); } } } } return sb.toString(); } int a(int i) { if (i == 0) { return b(0); } if (i == 1) { int i2 = 0; for (int i3 : this.b) { i2 = GenericGF.c(i2, i3); } return i2; } int[] iArr = this.b; int i4 = iArr[0]; int length = iArr.length; for (int i5 = 1; i5 < length; i5++) { i4 = GenericGF.c(this.a.b(i, i4), this.b[i5]); } return i4; } int b(int i) { return this.b[(r0.length - 1) - i]; } GenericGFPoly c(GenericGFPoly genericGFPoly) { if (!this.a.equals(genericGFPoly.a)) { throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field"); } if (c() || genericGFPoly.c()) { return this.a.d(); } int[] iArr = this.b; int length = iArr.length; int[] iArr2 = genericGFPoly.b; int length2 = iArr2.length; int[] iArr3 = new int[(length + length2) - 1]; for (int i = 0; i < length; i++) { int i2 = iArr[i]; for (int i3 = 0; i3 < length2; i3++) { int i4 = i + i3; iArr3[i4] = GenericGF.c(iArr3[i4], this.a.b(i2, iArr2[i3])); } } return new GenericGFPoly(this.a, iArr3); } GenericGFPoly[] b(GenericGFPoly genericGFPoly) { if (this.a.equals(genericGFPoly.a)) { if (!genericGFPoly.c()) { GenericGFPoly d = this.a.d(); int b = this.a.b(genericGFPoly.b(genericGFPoly.b())); GenericGFPoly genericGFPoly2 = d; GenericGFPoly genericGFPoly3 = this; while (genericGFPoly3.b() >= genericGFPoly.b() && !genericGFPoly3.c()) { int b2 = genericGFPoly3.b() - genericGFPoly.b(); int b3 = this.a.b(genericGFPoly3.b(genericGFPoly3.b()), b); GenericGFPoly a = genericGFPoly.a(b2, b3); genericGFPoly2 = genericGFPoly2.a(this.a.a(b2, b3)); genericGFPoly3 = genericGFPoly3.a(a); } return new GenericGFPoly[]{genericGFPoly2, genericGFPoly3}; } throw new IllegalArgumentException("Divide by 0"); } throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field"); } GenericGFPoly a(GenericGFPoly genericGFPoly) { if (this.a.equals(genericGFPoly.a)) { if (c()) { return genericGFPoly; } if (genericGFPoly.c()) { return this; } int[] iArr = this.b; int[] iArr2 = genericGFPoly.b; if (iArr.length > iArr2.length) { iArr = iArr2; iArr2 = iArr; } int[] iArr3 = new int[iArr2.length]; int length = iArr2.length - iArr.length; System.arraycopy(iArr2, 0, iArr3, 0, length); for (int i = length; i < iArr2.length; i++) { iArr3[i] = GenericGF.c(iArr[i - length], iArr2[i]); } return new GenericGFPoly(this.a, iArr3); } throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field"); } GenericGFPoly c(int i) { if (i == 0) { return this.a.d(); } if (i == 1) { return this; } int length = this.b.length; int[] iArr = new int[length]; for (int i2 = 0; i2 < length; i2++) { iArr[i2] = this.a.b(this.b[i2], i); } return new GenericGFPoly(this.a, iArr); } GenericGFPoly a(int i, int i2) { if (i < 0) { throw new IllegalArgumentException(); } if (i2 == 0) { return this.a.d(); } int length = this.b.length; int[] iArr = new int[i + length]; for (int i3 = 0; i3 < length; i3++) { iArr[i3] = this.a.b(this.b[i3], i2); } return new GenericGFPoly(this.a, iArr); } }