diff --git a/packages/prism/src/c/core/bpx.c b/packages/prism/src/c/core/bpx.c old mode 100644 new mode 100755 index e0eea2f00..959f95922 --- a/packages/prism/src/c/core/bpx.c +++ b/packages/prism/src/c/core/bpx.c @@ -26,7 +26,14 @@ int bp_next_solution(void); void write_term(TERM); /* float1.c */ + +#ifdef __YAP_PROLOG__ +static inline +#endif double floatval(TERM); +#ifdef __YAP_PROLOG__ +static inline +#endif TERM encodefloat1(double); /* loader.c */ diff --git a/packages/prism/src/c/core/bpx.h b/packages/prism/src/c/core/bpx.h old mode 100644 new mode 100755 index 5b128ea10..e42612173 --- a/packages/prism/src/c/core/bpx.h +++ b/packages/prism/src/c/core/bpx.h @@ -119,8 +119,17 @@ extern inline TERM ADDTAG(void * t,int tag) { #define ISFLOAT(t) IsFloatTerm(t) #define ISCOMPOUND(t) YAP_IsCompoundTerm(t) -#define floatval FloatOfTerm -#define encodefloat1 MkFloatTerm +static inline +double floatval(TERM t) +{ + return (Float)FloatOfTerm(t); +} + +static inline +TERM encodefloat1(double f) +{ + return MkFloatTerm((Float)f); +} extern inline int is_UNIFIABLE(TERM t1, TERM t2) {