}
static value sort_alloc_array(std::vector<DocID> results, value resarray){
- std::sort(results.begin(), results.end(), docId_comp);
+ std::sort(results.begin(), results.end(), docId_comp);
size_t s = results.size();
resarray = caml_alloc_tuple(s);
for (size_t i = 0; i < s ;i++){
caml_initialize(&Field(resarray,i),Val_int(results[i]));
};
- return resarray;
+ return resarray;
+
}
/**
if (node == NULLT)
return 0;
else {
- return /*1+ iterfcns(tree,tree->FirstChild(node)) +*/
- iterfcns(tree,tree->NextSibling(node));
+ int tmp = iterfcns(tree,tree->FirstElement(node));
+ tmp += iterfcns(tree,tree->NextElement(node));
+ return tmp+1;
};
}
-/*
+
extern "C" value caml_benchmark_fcns(value tree){
int i = iterfcns(XMLTREE(tree),0);
return Val_unit;
-
+
}
-*/
-extern "C" value caml_benchmark_fcns(value tree){
- treeNode root = XMLTREE(tree)->FirstChild(0);
- root = XMLTREE(tree)->FirstChild(root);
- iterfcns(XMLTREE(tree),root);
- return Val_unit;
-}
int iterlcps(XMLTree* tree, treeNode node){
if (node == NULLT)
return 0;
if (n == NULL)
return 0;
else {
- return (1+ iter_tree(n->first) + iter_tree(n->next));
+ return (1+ iter_tree(n->next)+ iter_tree(n->first) );
};
}