Menu

Src (SVN)-old Commit Log


Commit Date  
[r8604] by kifer

more initializations in the prref struct

2016-01-27 06:01:03 Tree
[r8603] by tswift

Test for various large tabled terms -- ground and with lots of variables.

2016-01-26 22:58:44 Tree
[r8602] by tswift

Added check for too many variables in answer -- see previous commit for details.

2016-01-26 22:57:32 Tree
[r8601] by tswift

Added check for adding into a table an answer with a large number
of variables. The problem is that the variables get trailed, so
if there are enough variables, they will cause a TCP stack realloc, which messes up
the table choice point pointers in new_answer_dealloc.

This should be simple enough to fix, but since the limit is about
40000 variables in an answer, we should be ok for now.

2016-01-26 22:56:31 Tree
[r8600] by tswift

Added a flag for max variables in a tabled subgoal (see previous commit message). This flag will
not need to be used, except for experimenting.

2016-01-26 21:35:49 Tree
[r8599] by tswift

Fixed a bug in variant call search that arose when tabling a subgoal with thousands of variables. The bug arose
because some information was integer-encoded and decoded inconsistently. Also, I did a check on the maximum number
of variables in a subgoal, which I set to 2000, as a large number of variables in a subgoal will likely cause
problems somewhere else, and I think its reasonable to assume that such large subgoals are probably errors. The
exact number can be controlled by a flag, but the flag should only be used for experimentation.

2016-01-26 21:25:46 Tree
[r8598] by tswift

Fixed a deep-seated memory bug in build_delay_list (used by get_residual). Keeping track of the varibles used in
a given delay element requires passing over 3 tries: the subgoal (de when called), answer (de after answer unif),
and delay tries (used to keep variables in delay elements straight). This is complicated by the fact that a delay
list contains several delay elements so their variable bindings need to be shared in a binding accumulator. This
accumulator must be refreshed for each delay_list for a given answer.

All this leads to considerable complications, where an array of bindings is maintained for a given delay element,
while these bindings are maintained in an accumulator. The original code juggled these arrays in a manner that
caused memory errors, so to get around this I wrote code to perform explicit copies, and made the bindings from the
delay trie load directly into the accumulator.

All this required a bit of code refactoring, and I also renamed some variables, as it the old names made things much
harder to follow than it would have been otherwise.

2016-01-25 22:21:31 Tree
[r8597] by tswift

Expanded these tests to test out handling of delay_list variables by get_residual.

2016-01-25 22:06:00 Tree
[r8596] by kifer

added comment to establish the provenance of the change

2016-01-24 20:22:17 Tree
[r8595] by kifer

pipes are made binary under Windoze instead of text.
Tex pipes are bad because of end-of-line translation, which breaks programs
that use gpp. This breakage happens only sometimes and is hard to detect.

2016-01-24 20:21:09 Tree
Older >
MongoDB Logo MongoDB