minor dbtries bug
This commit is contained in:
parent
b3754795a2
commit
a2cd68f1ca
@ -215,7 +215,7 @@ TrNode replace_nested_trie(TrNode node, TrNode child, YAP_Term new_term, void
|
|||||||
void check_attach_childs(TrNode parent, TrNode search_child, TrNode existing_child, void (*construct_function)(TrNode), void (*destruct_function)(TrNode));
|
void check_attach_childs(TrNode parent, TrNode search_child, TrNode existing_child, void (*construct_function)(TrNode), void (*destruct_function)(TrNode));
|
||||||
TrNode get_simplification_sibling(TrNode node);
|
TrNode get_simplification_sibling(TrNode node);
|
||||||
TrNode check_parent_first(TrNode node);
|
TrNode check_parent_first(TrNode node);
|
||||||
TrNode TrNode_myparent(TrNode node);
|
//TrNode TrNode_myparent(TrNode node);
|
||||||
|
|
||||||
/* -------------------------- */
|
/* -------------------------- */
|
||||||
/* Debug Procedures */
|
/* Debug Procedures */
|
||||||
@ -538,24 +538,24 @@ TrNode get_simplification_sibling(TrNode node) {
|
|||||||
|
|
||||||
TrNode check_parent_first(TrNode node) {
|
TrNode check_parent_first(TrNode node) {
|
||||||
TrNode simplification;
|
TrNode simplification;
|
||||||
if (TrNode_entry(TrNode_myparent(node)) != PairInitTag) {
|
if (TrNode_entry(TrNode_parent(node)) != PairInitTag) {
|
||||||
simplification = check_parent_first(TrNode_myparent(node));
|
simplification = check_parent_first(TrNode_parent(node));
|
||||||
if (simplification != NULL && TrNode_entry(simplification) == PairEndTag) return simplification;
|
if (simplification != NULL && TrNode_entry(simplification) == PairEndTag) return simplification;
|
||||||
}
|
}
|
||||||
simplification = get_simplification_sibling(node);
|
simplification = get_simplification_sibling(node);
|
||||||
return simplification;
|
return simplification;
|
||||||
}
|
}
|
||||||
|
|
||||||
TrNode TrNode_myparent(TrNode node) {
|
/*TrNode TrNode_myparent(TrNode node) {
|
||||||
TrNode parent = TrNode_parent(node);
|
TrNode parent = TrNode_parent(node);
|
||||||
while (parent != NULL && IS_FUNCTOR_NODE(parent))
|
while (parent != NULL && IS_FUNCTOR_NODE(parent))
|
||||||
parent = TrNode_parent(parent);
|
parent = TrNode_parent(parent);
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
TrNode core_simplification_reduction(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)) {
|
TrNode core_simplification_reduction(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)) {
|
||||||
/* Try to find the greatest parent that has a sibling that is a PairEndTag: this indicates a deep simplification */
|
/* Try to find the greatest parent that has a sibling that is a PairEndTag: this indicates a deep simplification */
|
||||||
node = check_parent_first(TrNode_myparent(node));
|
node = check_parent_first(TrNode_parent(node));
|
||||||
if (node != NULL) {
|
if (node != NULL) {
|
||||||
/* do breadth reduction simplification */
|
/* do breadth reduction simplification */
|
||||||
node = TrNode_parent(node);
|
node = TrNode_parent(node);
|
||||||
|
Reference in New Issue
Block a user