Fix a nasty bug in PtSet module (intersect function was the one
authorKim Nguyễn <kn@lri.fr>
Sun, 10 Mar 2013 18:05:36 +0000 (19:05 +0100)
committerKim Nguyễn <kn@lri.fr>
Sun, 10 Mar 2013 18:05:36 +0000 (19:05 +0100)
for little-endian patricia trees and therefore buggy)

src/utils/ptset.ml

index 3de13bc..f9bbd03 100644 (file)
@@ -15,7 +15,7 @@
 (***********************************************************************)
 
 (*
-  Time-stamp: <Last modified on 2013-03-05 01:49:52 CET by Kim Nguyen>
+  Time-stamp: <Last modified on 2013-03-10 18:18:54 CET by Kim Nguyen>
 *)
 
 (* Modified by Kim Nguyen *)
@@ -353,9 +353,9 @@ struct
     | Branch (p1,m1,l1,r1), Branch (p2,m2,l2,r2) ->
         if m1 == m2 && p1 == p2 then
         intersect l1 l2 || intersect r1 r2
-        else if m1 < m2 && match_prefix p2 p1 m1 then
+        else if m1 > m2 && match_prefix p2 p1 m1 then
         intersect (if zero_bit p2 m1 then l1 else r1) s2
-        else if m1 > m2 && match_prefix p1 p2 m2 then
+        else if m1 < m2 && match_prefix p1 p2 m2 then
         intersect s1 (if zero_bit p1 m2 then l2 else r2)
         else
         false