public void CreateCommodityGraphs() { lock (objectToLock) { log.DebugFormat( "CreateCommodityGraphs: {0}", meapContext.Commodities.Count); foreach (KeyValuePair <long, Commodity> p in meapContext.Commodities) { long commodityId = p.Key; Commodity commodity = p.Value; DAG Gi = new("Gi"); DAG.MakeCommodity(meapContext.TArbSeqCFG, commodity.sNodeId, commodity.tNodeId, Gi); commodity.Gi = Gi; } ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); ICheckDataStructures checkDataStructures = configuration.Get <ICheckDataStructures>(); if (commonOptions.CheckDataStructures) { checkDataStructures.CheckCommoditiesHaveNoSingleNodes(meapContext); } ExcludeDefs(); if (commonOptions.CheckDataStructures) { checkDataStructures.CheckCommoditiesHaveNoSingleNodes(meapContext); } } }
protected OperationsBase(ICommonOptions options) { Options = options; Directory = new DirectoryInfo(Options.Folder ?? "."); if (!Directory.Exists) { throw new InvalidDataException($"Missing folder {Directory.Name}"); } }
private static int RunActionAndReturnExitCode(ICommonOptions opts, Action action) { if (opts.Debug) { Debugger.Launch(); Debugger.Break(); } action(); Log.CloseAndFlush(); return(0); }
public void Run(string[] args) { AppStatistics appStatistics = configuration.Get <AppStatistics>(); ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); try { Ensure.That(ThreadPool.SetMinThreads(32, 2)).IsTrue(); IVerificator verificator = configuration.Get <IntegerFactVerificator>(); verificator.Run(); } catch (Exception exception) { appStatistics.ThereWereErrors = true; log.Error(exception.ToString()); } }
public override void Run(uint[] states) { log.InfoFormat("mu: {0}", meapContext.mu); CreateTASGBuilder(); tasgBuilder.CreateTArbitrarySeqGraph(); tasgBuilder.CreateTArbSeqCFG(states); meapContext.TArbSeqCFG.Trace(); if (meapContext.TArbSeqCFG.IsTrivial()) { return; } ComputeNodeVLevels(meapContext.TArbSeqCFG); ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); ICheckDataStructures checkDataStructures = configuration.Get <ICheckDataStructures>(); if (commonOptions.CheckDataStructures) { checkDataStructures.CheckTASGHasNoBackAndCrossEdges(meapContext.TArbSeqCFG); } log.DebugFormat("states = {0}", AppHelper.ArrayToString(states)); IDebugOptions debugOptions = configuration.Get <IDebugOptions>(); if (!debugOptions.RunRDA) { return; } ComputeCommodities(); DetermineIfExistsTCPath determineIfExistsTCSeq = new(meapContext); determineIfExistsTCSeq.RunForMultipleTapeSegs(); CopyResultFromTapeSegContext(); }
public void Run(string[] args) { AppStatistics appStatistics = configuration.Get <AppStatistics>(); ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); try { MathKernelConnector mathKernelConnector = configuration.Get <MathKernelConnector>(); mathKernelConnector.LoadMathKernel(); Ensure.That(ThreadPool.SetMinThreads(32, 2)).IsTrue(); IVerificator verificator = configuration.Get <OrdinaryVerificator>(); verificator.Run(); mathKernelConnector.UnloadMathKernel(); } catch (Exception exception) { appStatistics.ThereWereErrors = true; log.Error(exception.ToString()); } }
public override void Run(uint[] states) { log.InfoFormat("mu: {0}", meapContext.mu); log.DebugFormat("states = {0}", AppHelper.ArrayToString(states)); tasgBuilder.CreateTArbitrarySeqGraph(); IDebugOptions debugOptions = configuration.Get <IDebugOptions>(); if (!debugOptions.RunRDA) { return; } uint maxMu = meapContext.MEAPSharedContext.CPLTMInfo.PathLength; if (meapContext.mu < maxMu) { return; } tasgBuilder.CreateTArbSeqCFG(states); if (meapContext.TArbSeqCFG.IsTrivial()) { return; } ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); ICheckDataStructures checkDataStructures = configuration.Get <ICheckDataStructures>(); ComputeDUPairs(); meapContext.CommoditiesBuilder = new CommoditiesBuilderFactCPLTM(meapContext); meapContext.CommoditiesBuilder.EnumeratePairs(); meapContext.Commodities = meapContext.CommoditiesBuilder.CreateCommodities(); meapContext.CommoditiesBuilder = default !;
public DatabaseMigrator(ICommonOptions options) { this.Options = options; }
public override void Run(uint[] states) { log.InfoFormat("mu: {0}", meapContext.mu); ITASGBuilder tasgBuilder = configuration.Get <ITASGBuilder>(); meapContext.TASGBuilder = tasgBuilder; tasgBuilder.meapContext = meapContext; tasgBuilder.Init(); tasgBuilder.CreateTArbitrarySeqGraph(); tasgBuilder.CreateTArbSeqCFG(states); meapContext.TArbSeqCFG.Trace(); if (meapContext.TArbSeqCFG.IsTrivial()) { return; } ComputeNodeVLevels(meapContext.TArbSeqCFG); ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); ICheckDataStructures checkDataStructures = configuration.Get <ICheckDataStructures>(); if (commonOptions.CheckDataStructures) { checkDataStructures.CheckTASGHasNoBackAndCrossEdges(meapContext.TArbSeqCFG); } meapContext.DUPairCount = 0; meapContext.TConsistPairCount = 0; TConsistPairSetBuilderOrd tConsistPairSetBuilder = new(meapContext); tConsistPairSetBuilder.Run(); log.InfoFormat("defUsePairSet: {0}", meapContext.DUPairCount); log.InfoFormat("TConsistPairSet: {0}", meapContext.TConsistPairCount); meapContext.CommoditiesBuilder = new CommoditiesBuilderOrd(meapContext); meapContext.CommoditiesBuilder.EnumeratePairs(); IDebugOptions debugOptions = configuration.Get <IDebugOptions>(); if (debugOptions.ComputeCommoditiesExplicitely) { meapContext.Commodities = meapContext.CommoditiesBuilder.CreateCommodities(); meapContext.CommoditiesBuilder.CreateCommodityGraphs(); } else { meapContext.Commodities = new SortedDictionary <long, Commodity>(); } log.DebugFormat("states = {0}", AppHelper.ArrayToString(states)); DetermineIfExistsTCPath determineIfExistsTCSeq = new(meapContext); determineIfExistsTCSeq.RunForMultipleTapeSegs(); CopyResultFromTapeSegContext(); }