Esempio n. 1
0
 public override object vmethod_3(OGGClass6 class71_0, object object_1, object object_2)
 {
     Class37 @class = (Class37)object_1;
     Class36 class36_ = @class.class36_0;
     float[] array = null;
     if (object_2 is float[])
     {
         array = (float[])object_2;
     }
     int num = class71_0.oggClass3.method_6(class36_.int_3);
     if (num > 0)
     {
         int num2 = (1 << class36_.int_3) - 1;
         float num3 = (float)num / (float)num2 * (float)class36_.int_4;
         int num4 = class71_0.oggClass3.method_6(Class30.smethod_1(class36_.int_5));
         if (num4 != -1 && num4 < class36_.int_5)
         {
             OGGClass4 class2 = class71_0.oggClass1.oggClass4[class36_.int_6[num4]];
             float num5 = 0f;
             if (array != null && array.Length >= @class.int_2 + 1)
             {
                 for (int i = 0; i < array.Length; i++)
                 {
                     array[i] = 0f;
                 }
             }
             else
             {
                 array = new float[@class.int_2 + 1];
             }
             for (int j = 0; j < @class.int_2; j += class2.int_0)
             {
                 if (class2.method_2(array, j, class71_0.oggClass3, class2.int_0) == -1)
                 {
                     return null;
                 }
             }
             int k = 0;
             while (k < @class.int_2)
             {
                 int l = 0;
                 while (l < class2.int_0)
                 {
                     array[k] += num5;
                     l++;
                     k++;
                 }
                 num5 = array[k - 1];
             }
             array[@class.int_2] = num3;
             return array;
         }
     }
     return null;
 }
Esempio n. 2
0
 public override int vmethod_3(OGGClass6 class71_0, object object_0, float[][] float_0, int[] int_1, int int_2)
 {
     int num = 0;
     while (num < int_2 && int_1[num] == 0)
     {
         num++;
     }
     if (num == int_2)
     {
         return 0;
     }
     return Class24.smethod_1(class71_0, object_0, float_0, int_2);
 }
Esempio n. 3
0
 public override int vmethod_3(OGGClass6 class71_0, object object_0, float[][] float_0, int[] int_1, int int_2)
 {
     int num = 0;
     for (int i = 0; i < int_2; i++)
     {
         if (int_1[i] != 0)
         {
             float_0[num++] = float_0[i];
         }
     }
     if (num != 0)
     {
         return Class24.smethod_0(class71_0, object_0, float_0, num, 1);
     }
     return 0;
 }
Esempio n. 4
0
 public abstract int vmethod_4(OGGClass6 class71_0, object object_0, object object_1, float[] float_0);
Esempio n. 5
0
 public abstract object vmethod_3(OGGClass6 class71_0, object object_0, object object_1);
Esempio n. 6
0
 public override int vmethod_3(OGGClass6 class71_0, object object_2)
 {
     int result;
     lock (this.object_0)
     {
         OGGClass1 class66_ = class71_0.oggClass1;
         OGGClass5 class49_ = class66_.oggClass5;
         Class55 @class = (Class55)object_2;
         Class54 class54_ = @class.class54_0;
         Class27 class27_ = @class.class27_0;
         int num = class71_0.int_3 = class49_.int_13[class71_0.int_1];
         float[] array = class66_.float_2[class71_0.int_1][class71_0.int_0][class71_0.int_2][class27_.int_1];
         if (this.float_0 == null || this.float_0.Length < class49_.int_8)
         {
             this.float_0 = new float[class49_.int_8][];
             this.int_1 = new int[class49_.int_8];
             this.int_0 = new int[class49_.int_8];
             this.object_1 = new object[class49_.int_8];
         }
         for (int i = 0; i < class49_.int_8; i++)
         {
             float[] array2 = class71_0.float_0[i];
             int num2 = class54_.int_1[i];
             this.object_1[i] = @class.class28_0[num2].vmethod_3(class71_0, @class.object_1[num2], this.object_1[i]);
             if (this.object_1[i] != null)
             {
                 this.int_1[i] = 1;
             }
             else
             {
                 this.int_1[i] = 0;
             }
             for (int j = 0; j < num / 2; j++)
             {
                 array2[j] = 0f;
             }
         }
         for (int k = 0; k < class54_.int_6; k++)
         {
             if (this.int_1[class54_.int_7[k]] != 0 || this.int_1[class54_.int_8[k]] != 0)
             {
                 this.int_1[class54_.int_7[k]] = 1;
                 this.int_1[class54_.int_8[k]] = 1;
             }
         }
         for (int l = 0; l < class54_.int_0; l++)
         {
             int num3 = 0;
             for (int m = 0; m < class49_.int_8; m++)
             {
                 if (class54_.int_1[m] == l)
                 {
                     if (this.int_1[m] != 0)
                     {
                         this.int_0[num3] = 1;
                     }
                     else
                     {
                         this.int_0[num3] = 0;
                     }
                     this.float_0[num3++] = class71_0.float_0[m];
                 }
             }
             @class.class23_0[l].vmethod_3(class71_0, @class.object_2[l], this.float_0, this.int_0, num3);
         }
         for (int n = class54_.int_6 - 1; n >= 0; n--)
         {
             float[] array3 = class71_0.float_0[class54_.int_7[n]];
             float[] array4 = class71_0.float_0[class54_.int_8[n]];
             for (int num4 = 0; num4 < num / 2; num4++)
             {
                 float num5 = array3[num4];
                 float num6 = array4[num4];
                 if (num5 > 0f)
                 {
                     if (num6 > 0f)
                     {
                         array3[num4] = num5;
                         array4[num4] = num5 - num6;
                     }
                     else
                     {
                         array4[num4] = num5;
                         array3[num4] = num5 + num6;
                     }
                 }
                 else if (num6 > 0f)
                 {
                     array3[num4] = num5;
                     array4[num4] = num5 + num6;
                 }
                 else
                 {
                     array4[num4] = num5;
                     array3[num4] = num5 - num6;
                 }
             }
         }
         for (int num7 = 0; num7 < class49_.int_8; num7++)
         {
             float[] array5 = class71_0.float_0[num7];
             int num8 = class54_.int_1[num7];
             @class.class28_0[num8].vmethod_4(class71_0, @class.object_1[num8], this.object_1[num7], array5);
         }
         for (int num9 = 0; num9 < class49_.int_8; num9++)
         {
             float[] array6 = class71_0.float_0[num9];
             ((Class68)class66_.object_0[class71_0.int_1][0]).method_1(array6, array6);
         }
         for (int num10 = 0; num10 < class49_.int_8; num10++)
         {
             float[] array7 = class71_0.float_0[num10];
             if (this.int_1[num10] != 0)
             {
                 for (int num11 = 0; num11 < num; num11++)
                 {
                     array7[num11] *= array[num11];
                 }
             }
             else
             {
                 for (int num12 = 0; num12 < num; num12++)
                 {
                     array7[num12] = 0f;
                 }
             }
         }
         result = 0;
     }
     return result;
 }
Esempio n. 7
0
 public override int vmethod_4(OGGClass6 class71_0, object object_0, object object_1, float[] float_1)
 {
     Class32 @class = (Class32)object_0;
     Class31 class31_ = @class.class31_0;
     int num = class71_0.oggClass1.oggClass5.int_13[class71_0.int_4] / 2;
     if (object_1 != null)
     {
         int[] array = (int[])object_1;
         int num2 = 0;
         int int_ = 0;
         int int_2 = array[0] * class31_.int_6;
         for (int i = 1; i < @class.int_6; i++)
         {
             int num3 = @class.int_2[i];
             int num4 = array[num3] & 32767;
             if (num4 == array[num3])
             {
                 num4 *= class31_.int_6;
                 num2 = class31_.int_7[num3];
                 Class29.smethod_1(int_, num2, int_2, num4, float_1);
                 int_ = num2;
                 int_2 = num4;
             }
         }
         for (int j = num2; j < num; j++)
         {
             float_1[j] *= float_1[j - 1];
         }
         return 1;
     }
     for (int k = 0; k < num; k++)
     {
         float_1[k] = 0f;
     }
     return 0;
 }
Esempio n. 8
0
 public override object vmethod_3(OGGClass6 class71_0, object object_0, object object_1)
 {
     Class32 @class = (Class32)object_0;
     Class31 class31_ = @class.class31_0;
     OGGClass4[] class21_ = class71_0.oggClass1.oggClass4;
     if (class71_0.oggClass3.method_6(1) == 1)
     {
         int[] array = null;
         if (object_1 is int[])
         {
             array = (int[])object_1;
         }
         if (array != null && array.Length >= @class.int_6)
         {
             for (int i = 0; i < array.Length; i++)
             {
                 array[i] = 0;
             }
         }
         else
         {
             array = new int[@class.int_6];
         }
         array[0] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1));
         array[1] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1));
         int j = 0;
         int num = 2;
         while (j < class31_.int_0)
         {
             int num2 = class31_.int_1[j];
             int num3 = class31_.int_2[num2];
             int num4 = class31_.int_3[num2];
             int num5 = 1 << num4;
             int num6 = 0;
             if (num4 != 0)
             {
                 num6 = class21_[class31_.int_4[num2]].method_4(class71_0.oggClass3);
                 if (num6 == -1)
                 {
                     return null;
                 }
             }
             for (int k = 0; k < num3; k++)
             {
                 int num7 = class31_.int_5[num2][num6 & num5 - 1];
                 num6 = (int)((uint)num6 >> num4);
                 if (num7 >= 0)
                 {
                     if ((array[num + k] = class21_[num7].method_4(class71_0.oggClass3)) == -1)
                     {
                         return null;
                     }
                 }
                 else
                 {
                     array[num + k] = 0;
                 }
             }
             num += num3;
             j++;
         }
         for (int l = 2; l < @class.int_6; l++)
         {
             int num8 = Class29.smethod_0(class31_.int_7[@class.int_5[l - 2]], class31_.int_7[@class.int_4[l - 2]], array[@class.int_5[l - 2]], array[@class.int_4[l - 2]], class31_.int_7[l]);
             int num9 = @class.int_8 - num8;
             int num10 = num8;
             int num11 = ((num9 < num10) ? num9 : num10) << 1;
             int num12 = array[l];
             if (num12 != 0)
             {
                 if (num12 >= num11)
                 {
                     if (num9 > num10)
                     {
                         num12 -= num10;
                     }
                     else
                     {
                         num12 = -1 - (num12 - num9);
                     }
                 }
                 else if ((num12 & 1) != 0)
                 {
                     num12 = (int)(-(int)((ulong)((uint)(num12 + 1) >> 1)));
                 }
                 else
                 {
                     num12 >>= 1;
                 }
                 array[l] = num12 + num8;
                 array[@class.int_5[l - 2]] &= 32767;
                 array[@class.int_4[l - 2]] &= 32767;
             }
             else
             {
                 array[l] = (num8 | 32768);
             }
         }
         return array;
     }
     return null;
 }
Esempio n. 9
0
 public static int smethod_0(OGGClass6 class71_0, object object_0, float[][] float_0, int int_1, int int_2)
 {
     Class39 @class = (Class39)object_0;
     Class40 class40_ = @class.class40_0;
     int int_3 = class40_.int_2;
     int num = @class.class21_1.int_0;
     int num2 = class40_.int_1 - class40_.int_0;
     int num3 = num2 / int_3;
     int num4 = (num3 + num - 1) / num;
     if (Class24.int_0.Length < int_1)
     {
         Class24.int_0 = new int[int_1][][];
         for (int i = 0; i < int_1; i++)
         {
             Class24.int_0[i] = new int[num4][];
         }
     }
     else
     {
         for (int i = 0; i < int_1; i++)
         {
             if (Class24.int_0[i] == null || Class24.int_0[i].Length < num4)
             {
                 Class24.int_0[i] = new int[num4][];
             }
         }
     }
     for (int j = 0; j < @class.int_2; j++)
     {
         int k = 0;
         int num5 = 0;
         while (k < num3)
         {
             if (j == 0)
             {
                 for (int i = 0; i < int_1; i++)
                 {
                     int num6 = @class.class21_1.method_4(class71_0.oggClass3);
                     if (num6 == -1)
                     {
                         return 0;
                     }
                     Class24.int_0[i][num5] = @class.int_5[num6];
                     if (Class24.int_0[i][num5] == null)
                     {
                         return 0;
                     }
                 }
             }
             int num7 = 0;
             while (num7 < num && k < num3)
             {
                 for (int i = 0; i < int_1; i++)
                 {
                     int int_4 = class40_.int_0 + k * int_3;
                     if ((class40_.int_5[Class24.int_0[i][num5][num7]] & 1 << j) != 0)
                     {
                         OGGClass4 class2 = @class.class21_0[@class.int_3[Class24.int_0[i][num5][num7]][j]];
                         if (class2 != null)
                         {
                             if (int_2 == 0)
                             {
                                 if (class2.method_0(float_0[i], int_4, class71_0.oggClass3, int_3) == -1)
                                 {
                                     return 0;
                                 }
                             }
                             else if (int_2 == 1 && class2.method_1(float_0[i], int_4, class71_0.oggClass3, int_3) == -1)
                             {
                                 return 0;
                             }
                         }
                     }
                 }
                 num7++;
                 k++;
             }
             num5++;
         }
     }
     return 0;
 }
Esempio n. 10
0
 public static int smethod_1(OGGClass6 class71_0, object object_0, float[][] float_0, int int_1)
 {
     Class39 @class = (Class39)object_0;
     Class40 class40_ = @class.class40_0;
     int int_2 = class40_.int_2;
     int num = @class.class21_1.int_0;
     int num2 = class40_.int_1 - class40_.int_0;
     int num3 = num2 / int_2;
     int num4 = (num3 + num - 1) / num;
     int[][] array = new int[num4][];
     for (int i = 0; i < @class.int_2; i++)
     {
         int j = 0;
         int num5 = 0;
         while (j < num3)
         {
             if (i == 0)
             {
                 int num6 = @class.class21_1.method_4(class71_0.oggClass3);
                 if (num6 == -1)
                 {
                     return 0;
                 }
                 array[num5] = @class.int_5[num6];
                 if (array[num5] == null)
                 {
                     return 0;
                 }
             }
             int num7 = 0;
             while (num7 < num && j < num3)
             {
                 int int_3 = class40_.int_0 + j * int_2;
                 if ((class40_.int_5[array[num5][num7]] & 1 << i) != 0)
                 {
                     OGGClass4 class2 = @class.class21_0[@class.int_3[array[num5][num7]][i]];
                     if (class2 != null && class2.method_3(float_0, int_3, int_1, class71_0.oggClass3, int_2) == -1)
                     {
                         return 0;
                     }
                 }
                 num7++;
                 j++;
             }
             num5++;
         }
     }
     return 0;
 }
Esempio n. 11
0
 public int method_2(OGGClass6 class71_0)
 {
     if (this.int_11 > this.oggClass5.int_13[1] >> 1 && this.int_6 > 8192)
     {
         int num = this.int_11 - (this.oggClass5.int_13[1] >> 1);
         num = ((this.int_6 < num) ? this.int_6 : num);
         this.int_5 -= num;
         this.int_11 -= num;
         this.int_6 -= num;
         if (num != 0)
         {
             for (int i = 0; i < this.oggClass5.int_8; i++)
             {
                 Buffer.BlockCopy(this.float_1[i], num << 2, this.float_1[i], 0, this.int_5 << 2);
             }
         }
     }
     this.int_8 = this.int_9;
     this.int_9 = class71_0.int_1;
     this.int_10 = -1;
     this.long_2 += (long)class71_0.int_6;
     this.long_3 += (long)class71_0.int_7;
     this.long_4 += (long)class71_0.int_8;
     this.long_5 += (long)class71_0.int_9;
     if (this.long_1 + 1L != class71_0.long_1)
     {
         this.long_0 = -1L;
     }
     this.long_1 = class71_0.long_1;
     int num2 = this.oggClass5.int_13[this.int_9];
     int num3 = this.int_11 + (this.oggClass5.int_13[this.int_8] >> 2) + (num2 >> 2);
     int num4 = num3 - (num2 >> 1);
     int num5 = num4 + num2;
     int num6 = 0;
     int num7 = 0;
     if (num5 > this.int_4)
     {
         this.int_4 = num5 + this.oggClass5.int_13[1];
         for (int j = 0; j < this.oggClass5.int_8; j++)
         {
             float[] array = new float[this.int_4];
             Buffer.BlockCopy(this.float_1[j], 0, array, 0, this.float_1[j].Length << 2);
             this.float_1[j] = array;
         }
     }
     switch (this.int_9)
     {
     case 0:
         num6 = 0;
         num7 = this.oggClass5.int_13[0] >> 1;
         break;
     case 1:
         num6 = (this.oggClass5.int_13[1] >> 2) - (this.oggClass5.int_13[this.int_8] >> 2);
         num7 = num6 + (this.oggClass5.int_13[this.int_8] >> 1);
         break;
     }
     for (int k = 0; k < this.oggClass5.int_8; k++)
     {
         int num8 = num4;
         int l;
         for (l = num6; l < num7; l++)
         {
             this.float_1[k][num8 + l] += class71_0.float_0[k][l];
         }
         while (l < num2)
         {
             this.float_1[k][num8 + l] = class71_0.float_0[k][l];
             l++;
         }
     }
     if (this.long_0 == -1L)
     {
         this.long_0 = class71_0.long_0;
     }
     else
     {
         this.long_0 += (long)(num3 - this.int_11);
         if (class71_0.long_0 != -1L && this.long_0 != class71_0.long_0)
         {
             if (this.long_0 > class71_0.long_0 && class71_0.int_5 != 0)
             {
                 num3 -= (int)(this.long_0 - class71_0.long_0);
             }
             this.long_0 = class71_0.long_0;
         }
     }
     this.int_11 = num3;
     this.int_5 = num5;
     if (class71_0.int_5 != 0)
     {
         this.int_7 = 1;
     }
     return 0;
 }
Esempio n. 12
0
 public override int vmethod_4(OGGClass6 class71_0, object object_1, object object_2, float[] float_0)
 {
     Class37 @class = (Class37)object_1;
     Class36 class36_ = @class.class36_0;
     if (object_2 != null)
     {
         float[] array = (float[])object_2;
         float float_ = array[@class.int_2];
         Class77.smethod_0(float_0, @class.int_3, @class.int_0, @class.int_1, array, @class.int_2, float_, (float)class36_.int_4);
         return 1;
     }
     for (int i = 0; i < @class.int_0; i++)
     {
         float_0[i] = 0f;
     }
     return 0;
 }
Esempio n. 13
0
 public abstract int vmethod_3(OGGClass6 class71_0, object object_0, float[][] float_0, int[] int_0, int int_1);
Esempio n. 14
0
 private OGGStream()
 {
     this.class56_0 = new Class56();
     this.oggClass1 = new OGGClass1();
     this.oggClass6 = new OGGClass6(this.oggClass1);
 }
Esempio n. 15
0
        public int method_2(OGGClass6 class71_0)
        {
            if (this.int_11 > this.oggClass5.int_13[1] >> 1 && this.int_6 > 8192)
            {
                int num = this.int_11 - (this.oggClass5.int_13[1] >> 1);
                num          = ((this.int_6 < num) ? this.int_6 : num);
                this.int_5  -= num;
                this.int_11 -= num;
                this.int_6  -= num;
                if (num != 0)
                {
                    for (int i = 0; i < this.oggClass5.int_8; i++)
                    {
                        Buffer.BlockCopy(this.float_1[i], num << 2, this.float_1[i], 0, this.int_5 << 2);
                    }
                }
            }
            this.int_8   = this.int_9;
            this.int_9   = class71_0.int_1;
            this.int_10  = -1;
            this.long_2 += (long)class71_0.int_6;
            this.long_3 += (long)class71_0.int_7;
            this.long_4 += (long)class71_0.int_8;
            this.long_5 += (long)class71_0.int_9;
            if (this.long_1 + 1L != class71_0.long_1)
            {
                this.long_0 = -1L;
            }
            this.long_1 = class71_0.long_1;
            int num2 = this.oggClass5.int_13[this.int_9];
            int num3 = this.int_11 + (this.oggClass5.int_13[this.int_8] >> 2) + (num2 >> 2);
            int num4 = num3 - (num2 >> 1);
            int num5 = num4 + num2;
            int num6 = 0;
            int num7 = 0;

            if (num5 > this.int_4)
            {
                this.int_4 = num5 + this.oggClass5.int_13[1];
                for (int j = 0; j < this.oggClass5.int_8; j++)
                {
                    float[] array = new float[this.int_4];
                    Buffer.BlockCopy(this.float_1[j], 0, array, 0, this.float_1[j].Length << 2);
                    this.float_1[j] = array;
                }
            }
            switch (this.int_9)
            {
            case 0:
                num6 = 0;
                num7 = this.oggClass5.int_13[0] >> 1;
                break;

            case 1:
                num6 = (this.oggClass5.int_13[1] >> 2) - (this.oggClass5.int_13[this.int_8] >> 2);
                num7 = num6 + (this.oggClass5.int_13[this.int_8] >> 1);
                break;
            }
            for (int k = 0; k < this.oggClass5.int_8; k++)
            {
                int num8 = num4;
                int l;
                for (l = num6; l < num7; l++)
                {
                    this.float_1[k][num8 + l] += class71_0.float_0[k][l];
                }
                while (l < num2)
                {
                    this.float_1[k][num8 + l] = class71_0.float_0[k][l];
                    l++;
                }
            }
            if (this.long_0 == -1L)
            {
                this.long_0 = class71_0.long_0;
            }
            else
            {
                this.long_0 += (long)(num3 - this.int_11);
                if (class71_0.long_0 != -1L && this.long_0 != class71_0.long_0)
                {
                    if (this.long_0 > class71_0.long_0 && class71_0.int_5 != 0)
                    {
                        num3 -= (int)(this.long_0 - class71_0.long_0);
                    }
                    this.long_0 = class71_0.long_0;
                }
            }
            this.int_11 = num3;
            this.int_5  = num5;
            if (class71_0.int_5 != 0)
            {
                this.int_7 = 1;
            }
            return(0);
        }