private static void GenerateBoundaryBits() { const int length = 100000; const int runsCount = 100; using (var outputStream = File.Open(string.Format("D:\\statistics\\boundary_bits_{0}.txt", length), FileMode.Create)) using (var output = new StreamWriter(outputStream)) { output.WriteLine("k | coeff"); var removeStrategy = new RemoveBorderStrategy(); var logger = new ConsoleTextLengthLogger(length / 100); var detectEqual = false; for (var k = 5; k <= 10; ++k) { Console.WriteLine("Conversion for k = {0}", k); var text = new StringBuilder(); var e = new RationalNumber(k, k - 1); var generator = new CleverCharGenerator(text, k, e, detectEqual); var detector = new RepetitionDetector(text, e, detectEqual); Calculate(runsCount, detector, length, removeStrategy, generator, logger, output); } } }
public void TestBoundary() { var sb = new StringBuilder(); for (var i = 5; i <= 10; i++) { var charGenerator = new CleverCharGenerator(sb, i, new RationalNumber(i, i - 1), false); Assert.That(charGenerator.LastSymbols, Is.EqualTo(i - 2)); } }
private static void Generate3_7d4_plus() { using (var outputStream = File.Open("D:\\statistics\\binary_3_7d4+.txt", FileMode.Create)) using (var output = new StreamWriter(outputStream)) { var Runs = new[] { 100, 100, 100, 100, 100 }; var lengths = new[] { 100, 200, 300, 400, 500 }; var e = new RationalNumber(7, 4); var detectEqual = false; for (var i = 0; i < Runs.Length; ++i) { var length = lengths[i]; Console.WriteLine("Calculating conversion for length = {0}", length); var text = new StringBuilder(); var generator = new CleverCharGenerator(text, 3, e, detectEqual); var detector = new RepetitionDetector(text, e, detectEqual); var removeStrategy = new RemoveBorderStrategy(); Calculate(Runs[i], detector, lengths[i], removeStrategy, generator, null, output); } } }
public void TestOther(int alphabetSize, int numerator, int denominator, bool detectEqual, int expectedLastSymols) { var charGenerator = new CleverCharGenerator(new StringBuilder(), alphabetSize, new RationalNumber(numerator, denominator), detectEqual); Assert.That(charGenerator.LastSymbols, Is.EqualTo(expectedLastSymols)); }