aboutsummaryrefslogtreecommitdiff
path: root/lib/util.ml
diff options
context:
space:
mode:
authorHugo Herbelin2018-12-25 14:07:14 +0100
committerHugo Herbelin2018-12-25 14:38:18 +0100
commite7e6956a1ccc5a60b86f3660093cff5a608273a8 (patch)
tree078ba32c4679e835fc89b87e5af1d2b873549028 /lib/util.ml
parentb878216ca5e85f8164fa098b9dc0e688a212072d (diff)
Adding a comparison combinator for pairs.
Diffstat (limited to 'lib/util.ml')
-rw-r--r--lib/util.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index 38d73d3453..0389336258 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -20,6 +20,12 @@ let on_pi1 f (a,b,c) = (f a,b,c)
let on_pi2 f (a,b,c) = (a,f b,c)
let on_pi3 f (a,b,c) = (a,b,f c)
+(* Comparing pairs *)
+
+let pair_compare cmpx cmpy (x1,y1 as p1) (x2,y2 as p2) =
+ if p1 == p2 then 0 else
+ let c = cmpx x1 x2 in if c == 0 then cmpy y1 y2 else c
+
(* Projections from triplets *)
let pi1 (a,_,_) = a