X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tree.mli;h=539103cc1392fea94e49482e78d4f86c93d1e4d7;hb=0c2338bfcdae0df1c68112a10247dc4e68a483ff;hp=e4bbd2d2ba3f3581c40bdc152b20a804f271a8c6;hpb=be1caa5c46009c13241cc48ed34a36ee2936ef87;p=SXSI%2Fxpathcomp.git diff --git a/tree.mli b/tree.mli index e4bbd2d..539103c 100644 --- a/tree.mli +++ b/tree.mli @@ -1,17 +1,17 @@ type t -val init_contains : t -> string -> unit +val init_textfun : [ `CONTAINS | `STARTSWITH | `ENDSWITH | `EQUALS ] -> t -> string -> unit val init_naive_contains : t -> string -> unit val parse_xml_uri : string -> t val parse_xml_string : string -> t val save : t -> string -> unit -val load : ?sample:int -> string -> t +val load : ?sample:int -> ?load_text:bool -> string -> t val tag_pool : t -> Tag.pool -type 'a node = private int +type 'a node type node_kind = [ `Tree | `Text ] val equal : [ `Tree ] node -> [ `Tree ] node -> bool val compare : [ `Tree ] node -> [ `Tree ] node -> int @@ -20,7 +20,7 @@ val dump_node : 'a node -> string val nil : [ `Tree ] node val root : [ `Tree ] node - +val size : t -> int val is_root : [ `Tree ] node -> bool val is_nil : [ `Tree ] node -> bool @@ -34,25 +34,25 @@ val select_child : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node val next_element : t -> [ `Tree ] node -> [ `Tree ] node -val next_sibling_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node -val next_element_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node +val next_sibling_below : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node +val next_element_below : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node -val tagged_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -val tagged_sibling_ctx : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node +val tagged_following_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node +val tagged_following_sibling_below : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node -val select_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -val select_sibling_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node +val select_following_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node +val select_following_sibling_below : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node val tag : t -> [ `Tree ] node -> Tag.t val id : t -> [ `Tree ] node -> int -val tagged_desc : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -val select_desc : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node +val tagged_descendant : t -> Tag.t -> [ `Tree ] node -> [`Tree] node +val select_descendant : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -val tagged_foll_ctx : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node -val select_foll_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node +val tagged_following_below : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node +val select_following_below : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node val count : t -> string -> int val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit @@ -71,7 +71,7 @@ val is_left : t -> [`Tree] node -> bool val binary_parent : t -> [`Tree] node -> [`Tree] node val count_contains : t -> string -> int -val unsorted_contains : t -> string -> unit +(* val unsorted_contains : t -> string -> unit *) val text_size : t -> int val doc_ids : t -> [`Tree] node -> [`Text] node * [`Text] node val subtree_tags : t -> Tag.t -> [`Tree] node -> int @@ -86,3 +86,15 @@ val text_next : t -> [`Tree] node -> [`Tree] node -> [`Tree] node val closing : t -> [`Tree] node -> [`Tree] node val is_open : t -> [`Tree] node -> bool + +val benchmark_jump : t -> Tag.t -> unit +val benchmark_fcns : t -> int +val benchmark_fene : t -> int +val benchmark_lcps : t -> unit +val benchmark_iter : t -> int +val stats : t -> unit + +val test_suffix : t -> string -> int +val test_prefix : t -> string -> int +val test_equals : t -> string -> int +val test_contains : t -> string -> int