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))); }
public GrayCodeSweep(SafeGrayCode sgc, int sweepLength, Direction dir) { Sgc = sgc; SweepLength = sweepLength; Dir = dir; }