public bool Equals(StateData st) { return st.magicBit == magicBit; }
public void AddOrUpdate(Fingerprint fp, StateData sd) { if (hashTable.ContainsKey(fp)) { StateData oldValue; hashTable.TryGetValue(fp, out oldValue); hashTable.TryUpdate(fp, sd, oldValue); } else { if (hashTable.TryAdd(fp, sd)) { ZingerStats.IncrementStatesCount(); } } }
protected override void VisitState(TraversalInfo ti) { if (!ti.IsFingerPrinted) return; Fingerprint fp = ti.Fingerprint; StateData newD = new StateData(ti.MagicBit); GlobalStateTable.AddOrUpdate(fp, newD); }