infinity, try to fix the ffsll mess, warnings

This commit is contained in:
Vitor Santos Costa 2015-01-05 16:06:32 +00:00
parent 5053cfb571
commit fcf0f41312
19 changed files with 81 additions and 63 deletions

View File

@ -114,30 +114,6 @@ static char SccsId[] = "%W% %G%";
#include "eval.h"
#ifndef PI
#ifdef M_PI
#define PI M_PI
#else
#define PI 3.14159265358979323846
#endif
#endif
#ifndef M_E
#define M_E 2.7182818284590452354
#endif
#ifndef INFINITY
#define INFINITY (1.0/0.0)
#endif
#ifndef NAN
#define NAN (0.0/0.0)
#endif
/* copied from SWI-Prolog */
#ifndef DBL_EPSILON /* normal for IEEE 64-bit double */
#define DBL_EPSILON 0.00000000000000022204
#endif
static Term
eval0(Int fi) {

View File

@ -19,11 +19,10 @@ static char SccsId[] = "%W% %G%";
#endif /* SCCS */
#include <math.h>
#ifndef INFINITY
#define INFINITY (1.0/0.0)
#endif
#include "Yap.h"
#include "Yatom.h"
#include "eval.h"
#ifdef DEPTH_LIMIT

View File

@ -485,7 +485,7 @@ static Int p_values(USES_REGS1) { /* '$values'(Atom,Old,New) */
Term t1 = Deref(ARG1), t3 = Deref(ARG3);
if (IsVarTerm(t1)) {
Yap_Error(INSTANTIATION_ERROR, t1, "set_value/2");
Yap_Error(INSTANTIATION_ERROR, t1, "set_value/2");
return (FALSE);
}
if (!IsAtomTerm(t1)) {

View File

@ -706,13 +706,12 @@ write_atoms( void *s0, seq_tv_t *out, encoding_t enc, int minimal, size_t leng U
{
Term t = AbsPair(HR);
size_t sz = 0;
size_t min = 0, max = leng;
size_t max = leng;
if (leng == 0) {
out->val.t = t;
return TermNil;
}
if (out->type & (YAP_STRING_NCHARS|YAP_STRING_TRUNC)) {
if (out->type & YAP_STRING_NCHARS) min = out->sz;
if (out->type & YAP_STRING_TRUNC && out->max < max) max = out->max;
}

View File

@ -13,6 +13,10 @@
* version: $Id: Yap.h,v 1.38 2008-06-18 10:02:27 vsc Exp $ *
*************************************************************************/
#ifndef YAPTAGS_H
#define YAPTAGS_H 1
#ifndef EXTERN
#define EXTERN extern
#endif
@ -394,6 +398,8 @@ IntegerOfTerm (Term t)
return (Int) (IsIntTerm (t) ? IntOfTerm (t) : LongIntOfTerm (t));
}
#ifdef YAP_H
#define MkAddressTerm(i) __MkAddressTerm(i PASS_REGS)
INLINE_ONLY inline EXTERN Term __MkAddressTerm (void * USES_REGS);
@ -404,6 +410,7 @@ __MkAddressTerm (void * n USES_REGS)
return __MkIntegerTerm((Int)n PASS_REGS);
}
#endif
INLINE_ONLY inline EXTERN bool IsAddressTerm (Term);
@ -418,10 +425,8 @@ INLINE_ONLY inline EXTERN void * AddressOfTerm (Term);
INLINE_ONLY inline EXTERN void *
AddressOfTerm (Term t)
{
return (void *) (IsIntTerm (t) ? IntOfTerm (t) : LongIntOfTerm (t));
}
#ifndef YAP_H
#endif

View File

@ -119,6 +119,13 @@ exceptions:
#ifdef HAVE_FENV_H
#include <fenv.h>
#endif
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef LONG_MAX
#define Int_MAX LONG_MAX
@ -633,3 +640,27 @@ p_plus(Term t1, Term t2 USES_REGS) {
RERROR();
}
#ifndef PI
#ifdef M_PI
#define PI M_PI
#else
#define PI 3.14159265358979323846
#endif
#endif
#ifndef M_E
#define M_E 2.7182818284590452354
#endif
#ifndef INFINITY
#define INFINITY (1.0/0.0)
#endif
#ifndef NAN
#define NAN (0.0/0.0)
#endif
/* copied from SWI-Prolog */
#ifndef DBL_EPSILON /* normal for IEEE 64-bit double */
#define DBL_EPSILON 0.00000000000000022204
#endif

View File

@ -54,9 +54,9 @@ typedef struct si_callback_h * si_callback_h_t;
static inline int si_callback(void *key, void *data, void *arg)
{
si_callback_h_t c = (si_callback_h_t) arg;
yamop **cl = (yamop **) utarray_eltptr(c->clauselist, ((YAP_Int) data) - 1);
return Yap_ClauseListExtend(c->cl, *cl, c->pred);
si_callback_h_t c = (si_callback_h_t) arg;
yamop **cl = (yamop **) utarray_eltptr(c->clauselist, ((YAP_Int) data) - 1);
return Yap_ClauseListExtend(c->cl, *cl, c->pred);
}
#ifdef USE_JUDY
@ -64,11 +64,11 @@ static inline int si_callback(void *key, void *data, void *arg)
/* Judy1 integer sparse set intersection */
static inline int j1_callback(void *key, void *data, void *arg)
{
intptr_t r;
Pvoid_t *array = (Pvoid_t *) arg;
J1S(r, *array, (int) data);
if (r == JERR)
return FALSE;
return TRUE;
int r;
Pvoid_t *arrayP = (Pvoid_t *) arg;
J1S(r, *arrayP, (Word_t) data);
if (r == JERR)
return FALSE;
return TRUE;
}
#endif

View File

@ -16,7 +16,7 @@
*************************************************************************/
#ifndef lint
static char *rcsid = "$Header: /Users/vitor/Yap/yap-cvsbackup/library/mpi/mpe.c,v 1.6 2003-07-03 15:46:10 stasinos Exp $";
// static char *rcsid = "$Header: /Users/vitor/Yap/yap-cvsbackup/library/mpi/mpe.c,v 1.6 2003-07-03 15:46:10 stasinos Exp $";
#endif
#include "Yap.h"

View File

@ -16,7 +16,7 @@
*************************************************************************/
#ifndef lint
static char *rcsid = "$Header: /Users/vitor/Yap/yap-cvsbackup/library/mpi/mpi.c,v 1.20 2003-07-03 15:01:18 stasinos Exp $";
// static char *rcsid = "$Header: /Users/vitor/Yap/yap-cvsbackup/library/mpi/mpi.c,v 1.20 2003-07-03 15:01:18 stasinos Exp $";
#endif
#include "Yap.h"

View File

@ -196,7 +196,9 @@
int IsRealNumber(char *c);
int IsPosNumber(const char *c);
int IsRealNumber(char *c);
int IsNumber(const char *c);
char * freadstr(FILE *fd, const char *separators);
int CharIn(const char c, const char *in);
int patternmatch(char *pattern, char *thestr);

View File

@ -32,14 +32,14 @@ PRIVATE QueueItem QueueGetItem(Queue);
PRIVATE QueueItem QueueNewItem(void*, int);
PRIVATE void QueuePutItem(Queue, QueueItem);
PRIVATE QueueItem QueueRemoveItem(Queue, QueueItem);
PRIVATE int QueueCompareEqual(void *, void *);
//PRIVATE int QueueCompareEqual(void *, void *);
#else
PRIVATE void QueueDisposeItem();
PRIVATE QueueItem QueueGetItem();
PRIVATE QueueItem QueueNewItem();
PRIVATE void QueuePutItem();
PRIVATE QueueItem QueueRemoveItem();
PRIVATE int QueueCompareEqual();
//PRIVATE int QueueCompareEqual();
#endif
/* ---------- Functions */
@ -701,6 +701,8 @@ Queue q;
return q != NULL ? q->tail : NULL;
}
#ifdef UNUSED
PRIVATE
#ifdef __ANSI_C__
int QueueCompareEqual(void *x, void *y)
@ -712,4 +714,5 @@ void *x, *y;
return 0;
}
#endif

View File

@ -245,7 +245,7 @@ char * extractpattern(char *thestr);
int main(int argc, char **arg) {
extmanager MyManager;
DdNode *bdd, **forest, *bakbdd;
DdNode *bdd = NULL, **forest = NULL, *bakbdd= NULL;
bddfileheader fileheader;
int i, ivarcnt, code, curbdd;
gradientpair tvalue;
@ -869,7 +869,7 @@ skip_nodes(extmanager * MyManager, double (*counts)[] , DdNode* node, DdNode* l,
int skipcnt;
skipcnt = Cudd_ReadPerm(MyManager->manager,GetIndex(node))+1;
if(LOG_EXPECTED){fprintf(stderr,">> skipper >> %s=%i@%i of %i -> %i@%i %i\n",
MyManager->varmap.dynvalue[GetIndex(node) - MyManager->varmap.varstart],
(char *)(MyManager->varmap.dynvalue[GetIndex(node) - MyManager->varmap.varstart]),
GetIndex(node),
Cudd_ReadPerm(MyManager->manager,GetIndex(node)),
Cudd_ReadSize( MyManager->manager),
@ -934,7 +934,7 @@ double CalcExpectedCountsDown(extmanager * MyManager, DdNode *Current, char *que
char *curnode, *curh, *curl,*dynvalue;
DdNode *h, *l, *node;
ComparisonFunction fun;
hisnode *Found,*lfound, *hfound;
hisnode *Found = NULL,*lfound, *hfound;
double dprob; //downward probability of current node
double tvalue; // probability of prob fact corresp to node
int ivalue;
@ -1052,7 +1052,7 @@ double CalcExpectedCountsUp(extmanager * MyManager, DdNode *Current, char *query
DdNode *h, *l;
hisnode *Found;
char *curnode;
char *curnode = NULL;
double lvalue, hvalue, tvalue;
// tvalue=0.0;
int ivalue;
@ -1105,7 +1105,7 @@ double CalcExpectedCountsUp(extmanager * MyManager, DdNode *Current, char *query
gradientpair CalcGradient(extmanager MyManager, DdNode *Current, int TargetVar, char *TargetPattern, int type) {
DdNode *h, *l;
hisnode *Found;
char *curnode, *dynvalue;
char *curnode = NULL, *dynvalue;
gradientpair lowvalue, highvalue, tvalue;
double this_probability;
double *gradient;
@ -1142,6 +1142,7 @@ gradientpair CalcGradient(extmanager MyManager, DdNode *Current, int TargetVar,
highvalue = CalcGradient(MyManager, h, TargetVar, TargetPattern,type);
dynvalue = (char*) MyManager.varmap.dynvalue[GetIndex(Current) - MyManager.varmap.varstart];
if (dynvalue == NULL) { // no dynvalue, it's a regular probabilistic fact
memset( &dynvalue_parsed, 0, sizeof(dynvalue_parsed) );
this_probability = sigmoid(MyManager.varmap.dvalue[GetIndex(Current) - MyManager.varmap.varstart], params.sigmoid_slope);
} else { // there is a dynvalue, it's a continuous fact! let's do the hybrid ProbLog magic here
curnode = GetNodeVarNameDisp(MyManager.manager, MyManager.varmap, Current);

View File

@ -145,6 +145,7 @@
* *
\******************************************************************************/
#include "general.h"
#include "problogmath.h"

View File

@ -641,7 +641,7 @@ char** GetVariableOrder(char *filename, int varcnt) {
int LoadVariableData(namedvars varmap, char *filename) {
FILE *data;
char *dataread, buf, *varname, *dynvalue;
char *dataread, buf, *varname = NULL, *dynvalue;
char * unparsed_string;
double dvalue = 0.0;
int icur = 0, maxbufsize = 10, hasvar = 0, index = -1, idat = 0, ivalue = 0;
@ -1237,7 +1237,6 @@ char* getFileName(const char *function) {
DdNode* LineParser(DdManager *manager, namedvars varmap, DdNode **inter, int maxinter, char *function, int iline) {
int istart, iend, ilength, i, symbol, ivar, inegvar, inegoper, iconst;
long startAt, endAt;
double secs;
DdNode *bdd;
char *term, curoper;
bdd = HIGH(manager);
@ -1318,7 +1317,7 @@ DdNode* LineParser(DdManager *manager, namedvars varmap, DdNode **inter, int max
}
}
endAt = clock();
secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
// secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
if (_debug) fprintf(stderr, "term: %s of line: %i took: %ld\n", term, iline, endAt - startAt);
//if ((endAt - startAt) > 10000000) Cudd_AutodynDisable(manager);
if (bdd == NULL) {
@ -1350,7 +1349,7 @@ DdNode* LineParser(DdManager *manager, namedvars varmap, DdNode **inter, int max
if (inegvar) bdd = BDD_Operator(manager, NOT(inter[ivar]), bdd, curoper, inegoper);
else bdd = BDD_Operator(manager, inter[ivar], bdd, curoper, inegoper);
endAt = clock();
secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
// secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
if (_debug) fprintf(stderr, "term: %s of line: %i took: %ld\n", term, iline, endAt - startAt);
//if ((endAt - startAt) > 10000000) Cudd_AutodynDisable(manager);
if (bdd == NULL) {
@ -1545,7 +1544,7 @@ DdNode* OnlineGenerateBDD(DdManager *manager, namedvars *varmap) {
DdNode* OnlineLineParser(DdManager *manager, namedvars *varmap, DdNode **inter, int maxinter, char *function, int iline) {
int istart, iend, ilength, i, symbol, ivar, inegvar, inegoper, iconst;
long startAt, endAt;
double secs;
// double secs;
DdNode *bdd;
char *term, curoper;
bdd = HIGH(manager);
@ -1630,7 +1629,7 @@ DdNode* OnlineLineParser(DdManager *manager, namedvars *varmap, DdNode **inter,
}
}
endAt = clock();
secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
// secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
if (_debug) fprintf(stderr, "term: %s of line: %i took: %ld\n", term, iline, endAt - startAt);
//if ((endAt - startAt) > 10000000) Cudd_AutodynDisable(manager);
if (bdd == NULL) {
@ -1662,7 +1661,7 @@ DdNode* OnlineLineParser(DdManager *manager, namedvars *varmap, DdNode **inter,
if (inegvar) bdd = BDD_Operator(manager, NOT(inter[ivar]), bdd, curoper, inegoper);
else bdd = BDD_Operator(manager, inter[ivar], bdd, curoper, inegoper);
endAt = clock();
secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
// secs = ((double) (endAt - startAt)) / ((double) CLOCKS_PER_SEC);
if (_debug) fprintf(stderr, "term: %s of line: %i took: %ld\n", term, iline, endAt - startAt);
//if ((endAt - startAt) > 10000000) Cudd_AutodynDisable(manager);
if (bdd == NULL) {

View File

@ -19,7 +19,7 @@ typedef void *SYM_REC_PTR;
#define trail_top TR
#define trail_up_addr ((tr_fr_ptr)LCL0)
#define UNDO_TRAILING while (TR > (tr_fr_ptr)trail_top0) { RESET_VARIABLE(VarOfTerm(TrailTerm(TR--))); }
#define UNDO_TRAILING while (TR > (tr_fr_ptr)trail_top0) { RESET_VARIABLE(VarOfTerm(TrailTerm(TR))); TR--; }
#define NEW_HEAP_NODE(x) (*heap_top++ = (x))

View File

@ -39,8 +39,10 @@
#ifndef isnan
#define isnan(x) ((x) != (x))
#endif
#ifndef INFINITY
#define INFINITY HUGE_VAL
#endif
#endif
#define SNAN fputil_snan()
#define QNAN fputil_qnan()

View File

@ -660,11 +660,11 @@ int update_params_smooth(void)
SW_INS_PTR ptr,next;
double sum,cur_prob_sum;
double denom;
int n;
// int n;
for (i = 0; i < occ_switch_tab_size; i++) {
ptr = occ_switches[i];
n = num_sw_vals[i];
// n = num_sw_vals[i];
sum = 0.0;
while (ptr != NULL) {
sum += ptr->total_expect + ptr->smooth;

View File

@ -149,7 +149,7 @@ int pc_compute_inside_2(void)
int pc_compute_probf_1(void)
{
EG_NODE_PTR eg_ptr;
// EG_NODE_PTR eg_ptr;
int prmode;
prmode = bpx_get_integer(bpx_get_call_arg(1,1));
@ -159,7 +159,7 @@ int pc_compute_probf_1(void)
return BP_TRUE;
}
eg_ptr = expl_graph[roots[0]->id];
// eg_ptr = expl_graph[roots[0]->id];
failure_root_index = -1;
/* [31 Mar 2008, by yuizumi]

View File

@ -779,7 +779,7 @@ int pc_import_occ_switches_3(void)
TERM p_num_sw, p_num_sw_ins;
int i;
int num_sw_ins;
void release_occ_switches();
void release_occ_switches( void );
#ifdef __YAP_PROLOG__
TERM *hstart;