public void TestDiffBasicVSOptimized() { for (int i = 0; i < 1000; i++) { var x = Randoms.WellBalanced.Next(10000); var n = Randoms.WellBalanced.Next(10000); var resultBasic = RisingFactorialBI(x, n); var resultOptimized = TBSampler.RisingFactorialBIOptimized(x, 0, n - 1); Assert.AreEqual(resultBasic, resultOptimized); } }
static void Main(string[] args) { Config config = TryExtractConfig(args); if (config == null) { return; } var saveModel = !string.IsNullOrEmpty(config.Paths.OutModel); // Create Labeled Trees // Perform Needed transformations var labeledTrees = CreateLabeledTrees(config.Paths.InData, config.Paths.OutModel); // Calculate and save PCFG to file var pCFGComposer = new LabeledTreePCFGComposer(labeledTrees.ToList(), config); pCFGComposer.CalculateProbabilities(); ToCSWriter writer = new ToCSWriter(config.Paths.OutIdioms); var sampler = new TBSampler(writer, config); sampler.Initialize(pCFGComposer, labeledTrees); sampler.Train(); if (saveModel) { foreach (var tree in sampler.Trees) { tree.Serialize(); } } Console.ReadKey(); }