GenericGFPoly a(GenericGFPoly paramGenericGFPoly)
 {
   if (!this.a.equals(paramGenericGFPoly.a)) {
     throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field");
   }
   if (c()) {
     return paramGenericGFPoly;
   }
   if (paramGenericGFPoly.c()) {
     return this;
   }
   Object localObject1 = this.b;
   Object localObject2 = paramGenericGFPoly.b;
   if (localObject1.length > localObject2.length) {}
   for (;;)
   {
     int[] arrayOfInt = new int[localObject1.length];
     int i = localObject1.length - localObject2.length;
     System.arraycopy(localObject1, 0, arrayOfInt, 0, i);
     for (int j = i; j < localObject1.length; j++) {
       arrayOfInt[j] = GenericGF.b(localObject2[(j - i)], localObject1[j]);
     }
     return new GenericGFPoly(this.a, arrayOfInt);
     Object localObject3 = localObject2;
     localObject2 = localObject1;
     localObject1 = localObject3;
   }
 }
 GenericGFPoly[] c(GenericGFPoly paramGenericGFPoly)
 {
   if (!this.a.equals(paramGenericGFPoly.a)) {
     throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field");
   }
   if (paramGenericGFPoly.c()) {
     throw new IllegalArgumentException("Divide by 0");
   }
   GenericGFPoly localGenericGFPoly1 = this.a.a();
   int i = paramGenericGFPoly.a(paramGenericGFPoly.b());
   int j = this.a.c(i);
   GenericGFPoly localGenericGFPoly2 = localGenericGFPoly1;
   GenericGFPoly localGenericGFPoly4;
   for (GenericGFPoly localGenericGFPoly3 = this; (localGenericGFPoly3.b() >= paramGenericGFPoly.b()) && (!localGenericGFPoly3.c()); localGenericGFPoly3 = localGenericGFPoly3.a(localGenericGFPoly4))
   {
     int k = localGenericGFPoly3.b() - paramGenericGFPoly.b();
     int m = this.a.c(localGenericGFPoly3.a(localGenericGFPoly3.b()), j);
     localGenericGFPoly4 = paramGenericGFPoly.a(k, m);
     localGenericGFPoly2 = localGenericGFPoly2.a(this.a.a(k, m));
   }
   return new GenericGFPoly[] { localGenericGFPoly2, localGenericGFPoly3 };
 }
 GenericGFPoly b(GenericGFPoly paramGenericGFPoly)
 {
   if (!this.a.equals(paramGenericGFPoly.a)) {
     throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field");
   }
   if ((c()) || (paramGenericGFPoly.c())) {
     return this.a.a();
   }
   int[] arrayOfInt1 = this.b;
   int i = arrayOfInt1.length;
   int[] arrayOfInt2 = paramGenericGFPoly.b;
   int j = arrayOfInt2.length;
   int[] arrayOfInt3 = new int[-1 + (i + j)];
   for (int k = 0; k < i; k++)
   {
     int m = arrayOfInt1[k];
     for (int n = 0; n < j; n++) {
       arrayOfInt3[(k + n)] = GenericGF.b(arrayOfInt3[(k + n)], this.a.c(m, arrayOfInt2[n]));
     }
   }
   return new GenericGFPoly(this.a, arrayOfInt3);
 }