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 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. 3
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. 4
0
        public OGGData getOGGData()
        {
            int     num     = 0;
            OGGData oggData = new OGGData();

            int[] array  = oggData.int_3 = new int[this.int_1 * 2];
            int[] array2 = oggData.int_4 = new int[this.int_1 * 2];
            int[] array3 = OGGClass4.smethod_0(this.oggClass2.int_2, this.oggClass2.int_1);
            if (array3 == null)
            {
                return(null);
            }
            oggData.int_5 = this.int_1 * 2;
            for (int i = 0; i < this.int_1; i++)
            {
                if (this.oggClass2.int_2[i] > 0)
                {
                    int num2 = 0;
                    int j;
                    for (j = 0; j < this.oggClass2.int_2[i] - 1; j++)
                    {
                        if (((uint)array3[i] >> j & 1u) == 0u)
                        {
                            if (array[num2] == 0)
                            {
                                num = (array[num2] = num + 1);
                            }
                            num2 = array[num2];
                        }
                        else
                        {
                            if (array2[num2] == 0)
                            {
                                num = (array2[num2] = num + 1);
                            }
                            num2 = array2[num2];
                        }
                    }
                    if (((uint)array3[i] >> j & 1u) == 0u)
                    {
                        array[num2] = -i;
                    }
                    else
                    {
                        array2[num2] = -i;
                    }
                }
            }
            oggData.int_2 = OGGClass4.smethod_1(this.int_1) - 4;
            if (oggData.int_2 < 5)
            {
                oggData.int_2 = 5;
            }
            int num3 = 1 << oggData.int_2;

            oggData.int_0 = new int[num3];
            oggData.int_1 = new int[num3];
            for (int k = 0; k < num3; k++)
            {
                int num4 = 0;
                int num5 = 0;
                while (num5 < oggData.int_2 && (num4 > 0 || num5 == 0))
                {
                    if ((k & 1 << num5) != 0)
                    {
                        num4 = array2[num4];
                    }
                    else
                    {
                        num4 = array[num4];
                    }
                    num5++;
                }
                oggData.int_0[k] = num4;
                oggData.int_1[k] = num5;
            }
            return(oggData);
        }