public bool Equals(TmConfiguration <TTape> c) { if (c == null) { return(false); } if (Q != c.Q) { return(false); } return(T.CompleteContentEquals(c.T)); }
public string CheckAndAdd(TmConfiguration <TTape> cfg) { if (cfg == null) { throw new ArgumentNullException(); } var sub = GetSubset(cfg.Q); var dupe = sub.FirstOrDefault(x => x.Equals(cfg)); if (dupe != null) { return("Equivalent configuration to " + cfg + " already present: " + dupe); } // Ok, this state is new, add it. sub.Add(cfg.Clone()); return(null); }
public TmConfiguration <TTape> GetMachineConfigB() { var tmc = new TmConfiguration <TTape> (Q, Tape); return(tmc); }