X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tree.ml;h=f84c2bdd1b7abaf64cd2f8d5c5d78a903579a586;hb=abda8d601887079784b791d81780f1f6d6f87114;hp=a0346363925a599c9f56edd735ab3b2f98dcca16;hpb=9f227961ae2219728e4cdd56e4d4c4e7165e4306;p=SXSI%2Fxpathcomp.git diff --git a/tree.ml b/tree.ml index a034636..f84c2bd 100644 --- a/tree.ml +++ b/tree.ml @@ -176,7 +176,7 @@ let text_size t = text_size t.doc module MemUnion = Hashtbl.Make (struct type t = Ptset.Int.t*Ptset.Int.t - let equal (x,y) (z,t) = x == z || y == t + let equal (x,y) (z,t) = x == z && y == t let equal a b = equal a b || equal b a let hash (x,y) = (* commutative hash *) let x = Uid.to_int (Ptset.Int.uid x) @@ -513,7 +513,8 @@ let select_following_sibling t = fun ts -> fun n -> tree_select_following_sibling t.doc n v let next_sibling_below t = (); fun n _ -> tree_next_sibling t.doc n -let next_element_below t = (); fun n _ -> tree_next_element t.doc n +let next_element_below t = (); fun n _ -> tree_next_element t.doc n + let tagged_following_sibling_below t tag = (); fun n _ -> tree_tagged_following_sibling t.doc n tag let select_following_sibling_below t = fun ts -> @@ -788,3 +789,7 @@ let stats t = +let test_prefix t s = Array.length (text_prefix t.doc s) +let test_suffix t s = Array.length (text_suffix t.doc s) +let test_contains t s = Array.length (text_contains t.doc s) +let test_equals t s = Array.length (text_equals t.doc s)