Esempio n. 1
0
        internal virtual bool[] ReadFormatInformation()
        {
            bool[] source = new bool[15];
            for (int y = 0; y <= 5; ++y)
            {
                source[y] = this.GetElement(8, y);
            }
            source[6] = this.GetElement(8, 7);
            source[7] = this.GetElement(8, 8);
            source[8] = this.GetElement(7, 8);
            for (int index = 9; index <= 14; ++index)
            {
                source[index] = this.GetElement(14 - index, 8);
            }
            int number = 21522;

            for (int bits = 0; bits <= 14; ++bits)
            {
                bool flag = (SystemUtils.URShift(number, bits) & 1) == 1;
                source[bits] = source[bits] != flag;
            }
            bool[] flagArray1 = new BCH15_5(source).Correct();
            bool[] flagArray2 = new bool[5];
            for (int index = 0; index < 5; ++index)
            {
                flagArray2[index] = flagArray1[10 + index];
            }
            return(flagArray2);
        }
Esempio n. 2
0
        internal virtual bool[] readFormatInformation()
        {
            bool[] modules = new bool[15];

            for (int i = 0; i <= 5; i++)
            {
                modules[i] = getElement(8, i);
            }

            modules[6] = getElement(8, 7);
            modules[7] = getElement(8, 8);
            modules[8] = getElement(7, 8);

            for (int i = 9; i <= 14; i++)
            {
                modules[i] = getElement(14 - i, 8);
            }

            int maskPattern = 0x5412;

            for (int i = 0; i <= 14; i++)
            {
                bool xorBit = false;
                if (((SystemUtils.URShift(maskPattern, i)) & 1) == 1)
                {
                    xorBit = true;
                }
                else
                {
                    xorBit = false;
                }

                if (modules[i] == xorBit)
                {
                    modules[i] = false;
                }
                else
                {
                    modules[i] = true;
                }
            }

            BCH15_5 corrector = new BCH15_5(modules);

            bool[] output            = corrector.correct();
            bool[] formatInformation = new bool[5];

            for (int i = 0; i < 5; i++)
            {
                formatInformation[i] = output[10 + i];
            }

            return(formatInformation);
        }
        internal virtual bool[] readFormatInformation()
        {
            int num;

            bool[] source = new bool[15];
            for (num = 0; num <= 5; num++)
            {
                source[num] = this.getElement(8, num);
            }
            source[6] = this.getElement(8, 7);
            source[7] = this.getElement(8, 8);
            source[8] = this.getElement(7, 8);
            for (num = 9; num <= 14; num++)
            {
                source[num] = this.getElement(14 - num, 8);
            }
            int number = 0x5412;

            for (num = 0; num <= 14; num++)
            {
                bool flag = false;
                if ((SystemUtils.URShift(number, num) & 1) == 1)
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
                if (source[num] == flag)
                {
                    source[num] = false;
                }
                else
                {
                    source[num] = true;
                }
            }
            bool[] flagArray2 = new BCH15_5(source).correct();
            bool[] flagArray3 = new bool[5];
            for (num = 0; num < 5; num++)
            {
                flagArray3[num] = flagArray2[10 + num];
            }
            return(flagArray3);
        }
Esempio n. 4
0
        internal virtual bool[] readFormatInformation()
        {
            bool[] array = new bool[15];
            for (int i = 0; i <= 5; i++)
            {
                array[i] = getElement(8, i);
            }
            array[6] = getElement(8, 7);
            array[7] = getElement(8, 8);
            array[8] = getElement(7, 8);
            for (int i = 9; i <= 14; i++)
            {
                array[i] = getElement(14 - i, 8);
            }
            int number = 21522;

            for (int i = 0; i <= 14; i++)
            {
                bool flag = false;
                flag = (((SystemUtils.URShift(number, i) & 1) == 1) ? true : false);
                if (array[i] == flag)
                {
                    array[i] = false;
                }
                else
                {
                    array[i] = true;
                }
            }
            BCH15_5 bCH15_ = new BCH15_5(array);

            bool[] array2 = bCH15_.correct();
            bool[] array3 = new bool[5];
            for (int i = 0; i < 5; i++)
            {
                array3[i] = array2[10 + i];
            }
            return(array3);
        }