float support for tabling

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1324 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
ricroc 2005-06-03 08:26:32 +00:00
parent 08eaaa570d
commit 7f87e89910
4 changed files with 49 additions and 7 deletions

View File

@ -10,8 +10,11 @@
* *
* File: absmi.c *
* comments: Portable abstract machine interpreter *
* Last rev: $Date: 2005-06-01 20:25:22 $,$Author: vsc $ *
* Last rev: $Date: 2005-06-03 08:26:31 $,$Author: ricroc $ *
* $Log: not supported by cvs2svn $
* Revision 1.166 2005/06/01 20:25:22 vsc
* == and \= should not need a choice-point in ->
*
* Revision 1.165 2005/06/01 14:02:45 vsc
* get_rid of try_me?, retry_me? and trust_me? instructions: they are not
* significantly used nowadays.
@ -1410,16 +1413,20 @@ Yap_absmi(int inp)
}
}
break;
case _trie_retry_nothing:
case _trie_trust_nothing:
case _trie_retry_var:
case _trie_retry_val:
case _trie_retry_atom:
case _trie_retry_list:
case _trie_retry_struct:
case _trie_trust_var:
case _trie_retry_val:
case _trie_trust_val:
case _trie_retry_atom:
case _trie_trust_atom:
case _trie_retry_list:
case _trie_trust_list:
case _trie_retry_struct:
case _trie_trust_struct:
case _trie_retry_float:
case _trie_trust_float:
low_level_trace(retry_table_consumer, NULL, NULL);
break;
case _table_retry_me:

View File

@ -11,8 +11,12 @@
* File: cdmgr.c *
* comments: Code manager *
* *
* Last rev: $Date: 2005-06-01 14:02:47 $,$Author: vsc $ *
* Last rev: $Date: 2005-06-03 08:26:32 $,$Author: ricroc $ *
* $Log: not supported by cvs2svn $
* Revision 1.160 2005/06/01 14:02:47 vsc
* get_rid of try_me?, retry_me? and trust_me? instructions: they are not
* significantly used nowadays.
*
* Revision 1.159 2005/05/31 19:42:27 vsc
* insert some more slack for indices in LU
* Use doubly linked list for LU indices so that updating is less cumbersome.
@ -276,6 +280,8 @@ PredForChoicePt(yamop *p_code) {
case _Nstop:
return NULL;
#ifdef TABLING
case _trie_retry_nothing:
case _trie_trust_nothing:
case _trie_retry_var:
case _trie_trust_var:
case _trie_retry_val:
@ -286,6 +292,8 @@ PredForChoicePt(yamop *p_code) {
case _trie_trust_list:
case _trie_retry_struct:
case _trie_trust_struct:
case _trie_retry_float:
case _trie_trust_float:
return NULL;
case _table_completion:
case _table_answer_resolution:

View File

@ -1874,6 +1874,8 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
}
nargs = 0;
break;
case _trie_retry_nothing:
case _trie_trust_nothing:
case _trie_retry_var:
case _trie_trust_var:
case _trie_retry_val:
@ -1884,6 +1886,8 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
case _trie_trust_list:
case _trie_retry_struct:
case _trie_trust_struct:
case _trie_retry_float:
case _trie_trust_float:
{
CELL *aux_ptr;
int heap_arity;
@ -2610,6 +2614,8 @@ sweep_choicepoints(choiceptr gc_B)
}
}
break;
case _trie_retry_nothing:
case _trie_trust_nothing:
case _trie_retry_var:
case _trie_trust_var:
case _trie_retry_val:
@ -2620,6 +2626,8 @@ sweep_choicepoints(choiceptr gc_B)
case _trie_trust_list:
case _trie_retry_struct:
case _trie_trust_struct:
case _trie_retry_float:
case _trie_trust_float:
{
CELL *aux_ptr;
int heap_arity;

View File

@ -11,8 +11,11 @@
* File: index.c *
* comments: Indexing a Prolog predicate *
* *
* Last rev: $Date: 2005-06-01 20:25:23 $,$Author: vsc $ *
* Last rev: $Date: 2005-06-03 08:26:32 $,$Author: ricroc $ *
* $Log: not supported by cvs2svn $
* Revision 1.135 2005/06/01 20:25:23 vsc
* == and \= should not need a choice-point in ->
*
* Revision 1.134 2005/06/01 16:42:30 vsc
* put switch_list_nl back
*
@ -764,6 +767,10 @@ has_cut(yamop *pc)
case _getwork_first_time:
#endif /* YAPOR */
#ifdef TABLING
case _trie_do_nothing:
case _trie_trust_nothing:
case _trie_try_nothing:
case _trie_retry_nothing:
case _trie_do_var:
case _trie_trust_var:
case _trie_try_var:
@ -784,6 +791,10 @@ has_cut(yamop *pc)
case _trie_trust_struct:
case _trie_try_struct:
case _trie_retry_struct:
case _trie_do_float:
case _trie_trust_float:
case _trie_try_float:
case _trie_retry_float:
#endif /* TABLING */
pc = NEXTOP(pc,e);
break;
@ -2132,6 +2143,10 @@ add_info(ClauseDef *clause, UInt regno)
#endif /* YAPOR */
#ifdef TABLING
case _table_new_answer:
case _trie_do_nothing:
case _trie_trust_nothing:
case _trie_try_nothing:
case _trie_retry_nothing:
case _trie_do_var:
case _trie_trust_var:
case _trie_try_var:
@ -2152,6 +2167,10 @@ add_info(ClauseDef *clause, UInt regno)
case _trie_trust_struct:
case _trie_try_struct:
case _trie_retry_struct:
case _trie_do_float:
case _trie_trust_float:
case _trie_try_float:
case _trie_retry_float:
#endif /* TABLING */
clause->Tag = (CELL)NULL;
return;