fix some warnings
improve thread support.
This commit is contained in:
parent
e06560eff4
commit
fec7019a79
@ -127,6 +127,8 @@ bool bpx_is_identical(TERM t1, TERM t2)
|
|||||||
|
|
||||||
TERM bpx_get_call_arg(BPLONG i, BPLONG arity)
|
TERM bpx_get_call_arg(BPLONG i, BPLONG arity)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
|
|
||||||
if (i < 1 || i > arity) {
|
if (i < 1 || i > arity) {
|
||||||
bpx_raise("index out of range");
|
bpx_raise("index out of range");
|
||||||
}
|
}
|
||||||
@ -245,6 +247,7 @@ TERM bpx_get_cdr(TERM t)
|
|||||||
|
|
||||||
TERM bpx_build_var(void)
|
TERM bpx_build_var(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
|
|
||||||
REQUIRE_HEAP(1);
|
REQUIRE_HEAP(1);
|
||||||
@ -260,6 +263,7 @@ TERM bpx_build_integer(BPLONG n)
|
|||||||
|
|
||||||
TERM bpx_build_float(double x)
|
TERM bpx_build_float(double x)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
REQUIRE_HEAP(4);
|
REQUIRE_HEAP(4);
|
||||||
return encodefloat1(x);
|
return encodefloat1(x);
|
||||||
}
|
}
|
||||||
@ -274,6 +278,7 @@ TERM bpx_build_atom(const char *name)
|
|||||||
|
|
||||||
TERM bpx_build_list(void)
|
TERM bpx_build_list(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
|
|
||||||
REQUIRE_HEAP(2);
|
REQUIRE_HEAP(2);
|
||||||
@ -290,6 +295,7 @@ TERM bpx_build_nil(void)
|
|||||||
|
|
||||||
TERM bpx_build_structure(const char *name, BPLONG arity)
|
TERM bpx_build_structure(const char *name, BPLONG arity)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
SYM_REC_PTR sym;
|
SYM_REC_PTR sym;
|
||||||
TERM term;
|
TERM term;
|
||||||
|
|
||||||
@ -314,6 +320,7 @@ bool bpx_unify(TERM t1, TERM t2)
|
|||||||
|
|
||||||
TERM bpx_string_2_term(const char *s)
|
TERM bpx_string_2_term(const char *s)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term, vars;
|
TERM term, vars;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
|
@ -80,6 +80,27 @@ long int XTAG(TERM t)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern inline TERM ADDTAG(void * t,int tag);
|
||||||
|
extern inline int is_UNIFIABLE(TERM t1, TERM t2);
|
||||||
|
extern inline int is_IDENTICAL(TERM t1, TERM t2);
|
||||||
|
extern inline char *bp_term_2_string(TERM t);
|
||||||
|
extern inline int bp_string_2_term(const char *s, TERM to, TERM tv);
|
||||||
|
extern inline SYM_REC_PTR insert(const char *name, int size, int arity);
|
||||||
|
extern inline int compare(TERM t1, TERM t2);
|
||||||
|
extern inline void write_term(TERM t);
|
||||||
|
extern inline void numberVarTermOpt(TERM t);
|
||||||
|
extern inline TERM unnumberVarTerm(TERM t, BPLONG_PTR pt1, BPLONG_PTR pt2);
|
||||||
|
extern inline int unifyNumberedTerms(TERM t1, TERM t2);
|
||||||
|
|
||||||
|
int bpx_call_term(TERM t);
|
||||||
|
int bpx_call_string(const char *s);
|
||||||
|
int bpx_call_string(const char *s);
|
||||||
|
int bpx_mount_query_string(const char *s);
|
||||||
|
int bpx_next_solution(void);
|
||||||
|
void bpx_write(TERM t);
|
||||||
|
int bpx_printf(const char *fmt, ...);
|
||||||
|
|
||||||
|
|
||||||
extern inline TERM ADDTAG(void * t,int tag) {
|
extern inline TERM ADDTAG(void * t,int tag) {
|
||||||
if (tag == ATM)
|
if (tag == ATM)
|
||||||
return MkAtomTerm((Atom)t);
|
return MkAtomTerm((Atom)t);
|
||||||
@ -210,13 +231,13 @@ list_length(BPLONG t1, BPLONG t2)
|
|||||||
|
|
||||||
#define PRE_NUMBER_VAR(X)
|
#define PRE_NUMBER_VAR(X)
|
||||||
|
|
||||||
static inline void
|
extern inline void
|
||||||
numberVarTermOpt(TERM t)
|
numberVarTermOpt(TERM t)
|
||||||
{
|
{
|
||||||
YAP_NumberVars(t, 0);
|
YAP_NumberVars(t, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline TERM
|
extern inline TERM
|
||||||
unnumberVarTerm(TERM t, BPLONG_PTR pt1, BPLONG_PTR pt2)
|
unnumberVarTerm(TERM t, BPLONG_PTR pt1, BPLONG_PTR pt2)
|
||||||
{
|
{
|
||||||
return YAP_UnNumberVars(t);
|
return YAP_UnNumberVars(t);
|
||||||
|
@ -170,6 +170,7 @@ int id_table_count(const ID_TABLE *this)
|
|||||||
|
|
||||||
TERM unnumber_var_term(TERM term)
|
TERM unnumber_var_term(TERM term)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
BPLONG mvn = -1;
|
BPLONG mvn = -1;
|
||||||
return unnumberVarTerm(term, local_top, &mvn);
|
return unnumberVarTerm(term, local_top, &mvn);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,38 @@ char * bp_term_2_string(TERM);
|
|||||||
/* unify.c */
|
/* unify.c */
|
||||||
int unify(TERM, TERM);
|
int unify(TERM, TERM);
|
||||||
|
|
||||||
|
int prism_goal_id_register(TERM term);
|
||||||
|
int prism_sw_id_register(TERM term);
|
||||||
|
int prism_sw_ins_id_register(TERM term);
|
||||||
|
int prism_goal_id_get(TERM term);
|
||||||
|
int prism_sw_id_get(TERM term);
|
||||||
|
int prism_sw_ins_id_get(TERM term);
|
||||||
|
int prism_goal_count(void);
|
||||||
|
int prism_sw_count(void);
|
||||||
|
int prism_sw_ins_count(void);
|
||||||
|
TERM prism_goal_term(IDNUM i);
|
||||||
|
TERM prism_sw_term(IDNUM i);
|
||||||
|
TERM prism_sw_ins_term(IDNUM i);
|
||||||
|
char * prism_goal_string(IDNUM i);
|
||||||
|
char * prism_sw_string(IDNUM i);
|
||||||
|
char * prism_sw_ins_string(IDNUM i);
|
||||||
|
char * copy_prism_goal_string(IDNUM i);
|
||||||
|
char * copy_prism_sw_string(IDNUM i);
|
||||||
|
char * copy_prism_sw_ins_string(IDNUM i);
|
||||||
|
int pc_prism_id_table_init_0(void);
|
||||||
|
int pc_prism_goal_id_register_2(void);
|
||||||
|
int pc_prism_sw_id_register_2(void);
|
||||||
|
int pc_prism_sw_ins_id_register_2(void);
|
||||||
|
int pc_prism_goal_id_get_2(void);
|
||||||
|
int pc_prism_sw_id_get_2(void);
|
||||||
|
int pc_prism_sw_ins_id_get_2(void);
|
||||||
|
int pc_prism_goal_count_1(void);
|
||||||
|
int pc_prism_sw_count_1(void);
|
||||||
|
int pc_prism_sw_ins_count_1(void);
|
||||||
|
int pc_prism_goal_term_2(void);
|
||||||
|
int pc_prism_sw_term_2(void);
|
||||||
|
int pc_prism_sw_ins_term_2(void);
|
||||||
|
|
||||||
/*--------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------*/
|
||||||
|
|
||||||
int prism_goal_id_register(TERM term)
|
int prism_goal_id_register(TERM term)
|
||||||
@ -125,6 +157,7 @@ int pc_prism_id_table_init_0(void)
|
|||||||
|
|
||||||
int pc_prism_goal_id_register_2(void)
|
int pc_prism_goal_id_register_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -137,6 +170,7 @@ int pc_prism_goal_id_register_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_id_register_2(void)
|
int pc_prism_sw_id_register_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -149,6 +183,7 @@ int pc_prism_sw_id_register_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_ins_id_register_2(void)
|
int pc_prism_sw_ins_id_register_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -161,6 +196,7 @@ int pc_prism_sw_ins_id_register_2(void)
|
|||||||
|
|
||||||
int pc_prism_goal_id_get_2(void)
|
int pc_prism_goal_id_get_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -175,6 +211,7 @@ int pc_prism_goal_id_get_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_id_get_2(void)
|
int pc_prism_sw_id_get_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -188,6 +225,7 @@ int pc_prism_sw_id_get_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_ins_id_get_2(void)
|
int pc_prism_sw_ins_id_get_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM term;
|
TERM term;
|
||||||
IDNUM id;
|
IDNUM id;
|
||||||
|
|
||||||
@ -201,21 +239,25 @@ int pc_prism_sw_ins_id_get_2(void)
|
|||||||
|
|
||||||
int pc_prism_goal_count_1(void)
|
int pc_prism_goal_count_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
return unify(MAKEINT(prism_goal_count()), ARG(1,1));
|
return unify(MAKEINT(prism_goal_count()), ARG(1,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_prism_sw_count_1(void)
|
int pc_prism_sw_count_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
return unify(MAKEINT(prism_sw_count()), ARG(1,1));
|
return unify(MAKEINT(prism_sw_count()), ARG(1,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_prism_sw_ins_count_1(void)
|
int pc_prism_sw_ins_count_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
return unify(MAKEINT(prism_sw_ins_count()), ARG(1,1));
|
return unify(MAKEINT(prism_sw_ins_count()), ARG(1,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_prism_goal_term_2(void)
|
int pc_prism_goal_term_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM id, term;
|
TERM id, term;
|
||||||
|
|
||||||
id = ARG(1,2);
|
id = ARG(1,2);
|
||||||
@ -227,6 +269,7 @@ int pc_prism_goal_term_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_term_2(void)
|
int pc_prism_sw_term_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM id, term;
|
TERM id, term;
|
||||||
|
|
||||||
id = ARG(1,2);
|
id = ARG(1,2);
|
||||||
@ -239,6 +282,7 @@ int pc_prism_sw_term_2(void)
|
|||||||
|
|
||||||
int pc_prism_sw_ins_term_2(void)
|
int pc_prism_sw_ins_term_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM id, term;
|
TERM id, term;
|
||||||
|
|
||||||
id = ARG(1,2);
|
id = ARG(1,2);
|
||||||
|
@ -247,18 +247,21 @@ double random_gaussian(void)
|
|||||||
|
|
||||||
int pc_random_auto_seed_1(void)
|
int pc_random_auto_seed_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
BPLONG seed = (BPLONG)(time(NULL));
|
BPLONG seed = (BPLONG)(time(NULL));
|
||||||
return bpx_unify(ARG(1,1), bpx_build_integer(seed));
|
return bpx_unify(ARG(1,1), bpx_build_integer(seed));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_random_init_by_seed_1(void)
|
int pc_random_init_by_seed_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
init_genrand((unsigned long)(bpx_get_integer(ARG(1,1))));
|
init_genrand((unsigned long)(bpx_get_integer(ARG(1,1))));
|
||||||
return BP_TRUE;
|
return BP_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_random_init_by_list_1(void)
|
int pc_random_init_by_list_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
unsigned long *seed;
|
unsigned long *seed;
|
||||||
TERM t, u;
|
TERM t, u;
|
||||||
|
|
||||||
@ -278,16 +281,19 @@ int pc_random_init_by_list_1(void)
|
|||||||
|
|
||||||
int pc_random_float_1(void)
|
int pc_random_float_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
return bpx_unify(ARG(1,1), bpx_build_float(random_float()));
|
return bpx_unify(ARG(1,1), bpx_build_float(random_float()));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_random_gaussian_1(void)
|
int pc_random_gaussian_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
return bpx_unify(ARG(1,1), bpx_build_float(random_gaussian(0.0,1.0)));
|
return bpx_unify(ARG(1,1), bpx_build_float(random_gaussian(0.0,1.0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int pc_random_int_2(void)
|
int pc_random_int_2(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
int n_max = bpx_get_integer(ARG(1,2));
|
int n_max = bpx_get_integer(ARG(1,2));
|
||||||
int n_out = random_int(n_max);
|
int n_out = random_int(n_max);
|
||||||
return bpx_unify(ARG(2,2), bpx_build_integer((BPLONG)(n_out)));
|
return bpx_unify(ARG(2,2), bpx_build_integer((BPLONG)(n_out)));
|
||||||
@ -295,6 +301,7 @@ int pc_random_int_2(void)
|
|||||||
|
|
||||||
int pc_random_int_3(void)
|
int pc_random_int_3(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
int n_min = bpx_get_integer(ARG(1,3));
|
int n_min = bpx_get_integer(ARG(1,3));
|
||||||
int n_max = bpx_get_integer(ARG(2,3));
|
int n_max = bpx_get_integer(ARG(2,3));
|
||||||
int n_out = random_int(n_max - n_min + 1) + n_min;
|
int n_out = random_int(n_max - n_min + 1) + n_min;
|
||||||
@ -305,6 +312,7 @@ int pc_random_int_3(void)
|
|||||||
|
|
||||||
int pc_random_get_state_1(void)
|
int pc_random_get_state_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
int i, j;
|
int i, j;
|
||||||
TERM t, u;
|
TERM t, u;
|
||||||
unsigned long temp;
|
unsigned long temp;
|
||||||
@ -333,6 +341,7 @@ int pc_random_get_state_1(void)
|
|||||||
|
|
||||||
int pc_random_set_state_1(void)
|
int pc_random_set_state_1(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
int i, j;
|
int i, j;
|
||||||
TERM term;
|
TERM term;
|
||||||
unsigned long temp;
|
unsigned long temp;
|
||||||
|
@ -62,6 +62,7 @@ static ptrdiff_t trail_pos0 = 0;
|
|||||||
|
|
||||||
static void number_vars(TERM term)
|
static void number_vars(TERM term)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
assert(trail_pos0 == 0);
|
assert(trail_pos0 == 0);
|
||||||
|
|
||||||
trail_pos0 = trail_up_addr - trail_top;
|
trail_pos0 = trail_up_addr - trail_top;
|
||||||
@ -75,6 +76,7 @@ static void number_vars(TERM term)
|
|||||||
|
|
||||||
static void revert_vars(void)
|
static void revert_vars(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
BPLONG_PTR trail_top0;
|
BPLONG_PTR trail_top0;
|
||||||
|
|
||||||
assert(trail_pos0 != 0);
|
assert(trail_pos0 != 0);
|
||||||
@ -90,6 +92,7 @@ static void revert_vars(void)
|
|||||||
*/
|
*/
|
||||||
static BPULONG prism_hash_value(TERM term)
|
static BPULONG prism_hash_value(TERM term)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM t, *rest;
|
TERM t, *rest;
|
||||||
BPLONG i, n;
|
BPLONG i, n;
|
||||||
SYM_REC_PTR sym;
|
SYM_REC_PTR sym;
|
||||||
|
@ -770,6 +770,7 @@ int pc_get_snode_expectation_2(void)
|
|||||||
|
|
||||||
int pc_import_occ_switches_3(void)
|
int pc_import_occ_switches_3(void)
|
||||||
{
|
{
|
||||||
|
CACHE_REGS
|
||||||
TERM p_sw_list,p_sw_list0,p_sw_list1;
|
TERM p_sw_list,p_sw_list0,p_sw_list1;
|
||||||
TERM p_sw_ins_list0,p_sw_ins_list1,sw,sw_ins;
|
TERM p_sw_ins_list0,p_sw_ins_list1,sw,sw_ins;
|
||||||
TERM p_num_sw, p_num_sw_ins;
|
TERM p_num_sw, p_num_sw_ins;
|
||||||
|
Reference in New Issue
Block a user