Org.BouncyCastle.Crypto.Engines.BlowfishEngine.ProcessTable C# (CSharp) Method

ProcessTable() private method

private ProcessTable ( uint xl, uint xr, uint table ) : void
xl uint
xr uint
table uint
return void
        private void ProcessTable(
            uint xl,
            uint xr,
            uint[] table)
        {
            int size = table.Length;

            for (int s = 0; s < size; s += 2)
            {
                xl ^= P[0];

                for (int i = 1; i < ROUNDS; i += 2)
                {
                    xr ^= F(xl) ^ P[i];
                    xl ^= F(xr) ^ P[i + 1];
                }

                xr ^= P[ROUNDS + 1];

                table[s] = xr;
                table[s + 1] = xl;

                xr = xl;            // end of cycle swap
                xl = table[s];
            }
        }