summaryrefslogtreecommitdiff
path: root/Source/Core/Util.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Util.cs')
-rw-r--r--Source/Core/Util.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Core/Util.cs b/Source/Core/Util.cs
index 75cb25aa..1b8353e1 100644
--- a/Source/Core/Util.cs
+++ b/Source/Core/Util.cs
@@ -66,6 +66,18 @@ namespace Microsoft.Boogie {
{
return source1.Zip(source2, (e1, e2) => new Tuple<TSource1, TSource2>(e1, e2));
}
+
+ public static bool ListEquals<A>(this List<A> xs, List<A> ys) {
+ var equal = xs.Count == ys.Count;
+ for (int i = 0; equal && i < xs.Count; i++) {
+ equal = object.Equals(xs[i], ys[i]);
+ }
+ return equal;
+ }
+
+ public static int ListHash<A>(this List<A> xs) {
+ return xs.Aggregate(xs.Count, (current, x) => current ^ xs.GetHashCode());
+ }
}
public class TokenTextWriter : IDisposable {