private static IList <Connection> HyperBorderArcs(designGraph graph, hyperarc pNodeHy) { if (pNodeHy.nodes.Count == 1) { return(pNodeHy.nodes[0].arcs.Where(a => a is Connection).Cast <Connection>().ToList()); } return(DBGBinary.HyperarcBorderArcsFinder(pNodeHy)); }
private static void GenerateOptions(HashSet <Component> A, Dictionary <option, HashSet <int> > gOptions) { foreach (var cndDirInd in DirPool) { SCCBinary.StronglyConnectedComponents(Graph, A, cndDirInd); var blockingDic = DBGBinary.DirectionalBlockingGraph(Graph, cndDirInd); var options = OptionGeneratorProBinary.GenerateOptions(Graph, A, blockingDic, gOptions, cndDirInd); foreach (var opt in options) { gOptions.Add(opt, new HashSet <int> { cndDirInd }); } } }