示例#1
0
 public Class191(Class190 class1901, int int4, int int5, int int6)
 {
     _class1900 = class1901;
     Int0       = int5;
     _int3      = int6;
     Short0     = new short[int4];
     _int2      = new int[int6];
 }
示例#2
0
        private void method_0(byte[] byte0)
        {
            var array  = new int[16];
            var array2 = new int[16];

            for (var i = 0; i < byte0.Length; i++)
            {
                int num = byte0[i];
                if (num > 0)
                {
                    array[num]++;
                }
            }
            var num2 = 0;
            var num3 = 512;

            for (var j = 1; j <= 15; j++)
            {
                array2[j] = num2;
                num2     += array[j] << 16 - j;
                if (j >= 10)
                {
                    var num4 = array2[j] & 130944;
                    var num5 = num2 & 130944;
                    num3 += num5 - num4 >> 16 - j;
                }
            }
            _short0 = new short[num3];
            var num6 = 512;

            for (var k = 15; k >= 10; k--)
            {
                var num7 = num2 & 130944;
                num2 -= array[k] << 16 - k;
                var num8 = num2 & 130944;
                for (var l = num8; l < num7; l += 128)
                {
                    _short0[Class190.smethod_0(l)] = (short)(-num6 << 4 | k);
                    num6 += 1 << k - 9;
                }
            }
            for (var m = 0; m < byte0.Length; m++)
            {
                int num9 = byte0[m];
                if (num9 != 0)
                {
                    num2 = array2[num9];
                    int num10 = Class190.smethod_0(num2);
                    if (num9 <= 9)
                    {
                        do
                        {
                            _short0[num10] = (short)(m << 4 | num9);
                            num10         += 1 << num9;
                        } while (num10 < 512);
                    }
                    else
                    {
                        int num11 = _short0[num10 & 511];
                        var num12 = 1 << (num11 & 15);
                        num11 = -(num11 >> 4);
                        do
                        {
                            _short0[num11 | num10 >> 9] = (short)(m << 4 | num9);
                            num10 += 1 << num9;
                        } while (num10 < num12);
                    }
                    array2[num9] = num2 + (1 << 16 - num9);
                }
            }
        }