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