private void Decrement(MaskBits mask, int j) { for (int i = 0; i < j; i++) { mask.Decrement(); } }
// Bit 8 and 7 to one, if decrements bit 8 and 6 to one, bit 7 to 0 public void Decrement_8_7_Is_8_6() { ulong[] result = { 0x20, 0x80 }; MaskBits mask = new MaskBits(8, 2); mask.Decrement(); Assert.Equal(true, mask.Equals(result)); }
public void Decrement_7_6_Is_7_5() { ulong[] result = { 0x10, 0x40 }; MaskBits mask = new MaskBits(8, 2); Decrement(mask, 7); mask.Decrement(); Assert.Equal(true, mask.Equals(result)); }
public void GetCombinationsMaskBits_8_2_Decrement_1_Reset() { ulong[] result = { 0x40, 0x80 }; MaskBits mask = new MaskBits(8, 2); mask.Decrement(); mask.Reset(); Assert.Equal(true, mask.Equals(result)); }
public void Decrement_2_1_Is_2_1() { ulong[] result = { 0x1, 0x2 }; MaskBits mask = new MaskBits(8, 2); Decrement(mask, 7); Decrement(mask, 6); Decrement(mask, 5); Decrement(mask, 4); Decrement(mask, 3); Decrement(mask, 2); mask.Decrement(); Assert.Equal(true, mask.Equals(result)); Assert.Equal(true, mask.IsParsingComplete); }
public static int GenerateAllCombinations(int numCards, int combinations) { var mask = new MaskBits(numCards, combinations); var totalCombinations = BinaryOperations.GetNumberOfCombinations(52ul, 7ul); var numCombinations = 0; using (var file = new StreamWriter(@"poker-all-" + combinations + "-hands.txt")) { while (!mask.IsParsingComplete) { file.WriteLine(mask.ToUint64()); mask.Decrement(); numCombinations++; ConsoleHelper.DrawProgressBar(numCombinations, totalCombinations); } } return(numCombinations); }