Пример #1
0
        public static void Test(int count)
        {
            var g = new SafeGrayCode(count);

            var pics = Enumerable.Range(0, g.NumBits).Select(b => g.BitsForStep(b).ToArray()).ToArray();

            var accs = new int[count];

            for (var i = 0; i < g.NumBits; ++i)
                for (var x = 0; x < count; ++x)
                    accs[x] |= pics[i][x] ? (1 << i) : 0;

            for (var x = 0; x < count; ++x)
                accs[x] = g.ToBinary(accs[x]);

            Debug.Assert(accs.SequenceEqual(Enumerable.Range(0, count)));
        }
Пример #2
0
 public GrayCodeSweep(SafeGrayCode sgc, int sweepLength, Direction dir)
 {
     Sgc = sgc;
     SweepLength = sweepLength;
     Dir = dir;
 }