public override bool Join(DataStructures.Pair <APC, APC> edge, bool newState, bool prevState, out bool weaker, bool widen) { if (widen) { loops++; } joinpoints++; return(base.Join(edge, newState, prevState, out weaker, widen)); }
public override bool Join(DataStructures.Pair <APC, APC> edge, bool newState, bool prevState, out bool weaker, bool widen) { weaker = false; return(true); }
/// <summary> /// Must implement the join/widen operation /// </summary> /// <param name="edge"></param> /// <param name="newState"></param> /// <param name="prevState"></param> /// <param name="weaker">should return false if result is less than or equal prevState.</param> /// <param name="widen">true if this is a widen operation. For our domain, this makes no difference</param> public Domain Join(DataStructures.Pair <Label, Label> edge, Domain newState, Domain prevState, out bool weaker, bool widen) { return(new Domain(prevState.Value.Join(newState.Value, out weaker, widen))); }