コード例 #1
0
 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))));
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 public static LabelSet ToLabelSet(KillSet s)
 {
     return(new LabelSet(s.Select(kp => kp.Key)));
 }