Rati Gelashvili reported a rare but annoying bug in the hash function handling.

The fix requires a significant reworking of the function handling. This
is a first attempt.

Conflicts:
	src/knowledge.c
	src/knowledge.h

Regression test suggests that the Hashfunction fix works.
This commit is contained in:
Cas Cremers
2013-04-26 11:36:41 +02:00
parent 4a1898db92
commit 7658644295
27 changed files with 225 additions and 226 deletions

View File

@@ -438,7 +438,7 @@ xmlInverses (const System sys)
xmlPrint ("<inversekeys>");
xmlindent++;
invlist = sys->know->inverses;
invlist = sys->know->inversekeys;
while (invlist != NULL && invlist->next != NULL)
{
xmlPrint ("<keypair>");
@@ -452,6 +452,23 @@ xmlInverses (const System sys)
}
xmlindent--;
xmlPrint ("</inversekeys>");
xmlPrint ("<inversekeyfunctions>");
xmlindent++;
invlist = sys->know->inversekeyfunctions;
while (invlist != NULL && invlist->next != NULL)
{
xmlPrint ("<keypair>");
xmlindent++;
xmlOutTerm (NULL, invlist->term);
xmlOutTerm (NULL, invlist->next->term);
xmlindent--;
xmlPrint ("</keypair>");
invlist = invlist->next->next;
}
xmlindent--;
xmlPrint ("</inversekeyfunctions>");
}
//! Show initial knowledge