public override int GetHashCode() { unchecked { return((DJB2.HashIEnumerable(_constraints) * 397) ^ Term.GetHashCode()); } }
public override int GetHashCode() { switch (Kind) { case TermKind.Atom: return(DJB2.Hash(Kind, AtomAtom)); case TermKind.Apply: return(DJB2.Hash(Kind, ApplyF, ApplyX)); case TermKind.Var: return(DJB2.Hash(Kind, VarName)); } throw new Exception("unreachable code path"); }