Blake2Sharp.CompressionCodeGen.Program.G C# (CSharp) Method

G() static private method

static private G ( int r, int i, int a, int b, int c, int d ) : void
r int
i int
a int
b int
c int
d int
return void
        static void G(int r, int i, int a, int b, int c, int d)
        {
            int p = (r << 4) + 2 * i;
            int p0 = Sigma[p];
            int p1 = Sigma[p + 1];

            string s = @"// G(r, i, a, b, c, d)
                a = a + b + m[" + p0 + @"];
                d ^= a;
                d = " + RotateRight("d", 32) + @";
                c = c + d;
                b ^= c;
                b = " + RotateRight("b", 24) + @";
                a = a + b + m[" + p1 + @"];
                d ^= a;
                d = " + RotateRight("d", 16) + @";
                c = c + d;
                b ^= c;
                b = " + RotateRight("b", 63) + @";";
            s = s.Replace("a", "v" + a);
            s = s.Replace("b", "v" + b);
            s = s.Replace("c", "v" + c);
            s = s.Replace("d", "v" + d);
            s = s.Replace("r", r.ToString());
            s = s.Replace("i", i.ToString());
            s = s.Replace("\t", "");
            Console.WriteLine(s);
            Console.WriteLine();
        }