public static LabelSet TransferByGenAndKill(LabelSet X, GenSet gen, KillSet kill) { if (X == null) { return(ToLabelSet(gen)); } return(new LabelSet(X.Except(ToLabelSet(kill)).Union(ToLabelSet(gen)))); }
public static KillSet GetKillSet(GenSet bblock, List <GenSet> others) { var ret = new KillSet(); foreach (var oblock in others) { foreach (var def in bblock) { if (oblock.ContainsKey(def.Key)) { ret[oblock[def.Key]] = def.Key; } } } return(ret); }
public static LabelSet ToLabelSet(KillSet s) { return(new LabelSet(s.Select(kp => kp.Key))); }