range and fix locals.
This commit is contained in:
parent
139b06115e
commit
8126381e8d
|
@ -327,5 +327,6 @@ Yap_InitModules(void)
|
||||||
LookupModule(ARG_MODULE);
|
LookupModule(ARG_MODULE);
|
||||||
LookupModule(GLOBALS_MODULE);
|
LookupModule(GLOBALS_MODULE);
|
||||||
LookupModule(DBLOAD_MODULE);
|
LookupModule(DBLOAD_MODULE);
|
||||||
|
LookupModule(RANGE_MODULE);
|
||||||
CurrentModule = PROLOG_MODULE;
|
CurrentModule = PROLOG_MODULE;
|
||||||
}
|
}
|
||||||
|
|
72
C/stdpreds.c
72
C/stdpreds.c
|
@ -4309,77 +4309,6 @@ p_loop( USES_REGS1 ) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if QSAR
|
|
||||||
static Int
|
|
||||||
p_in_range( USES_REGS1 ) {
|
|
||||||
Term t;
|
|
||||||
double i,j;
|
|
||||||
double d1;
|
|
||||||
double d2;
|
|
||||||
double d3;
|
|
||||||
|
|
||||||
t = Deref(ARG1);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(ARG4);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d1 = i-j;
|
|
||||||
t = Deref(ARG2);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(ARG5);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d2 = i-j;
|
|
||||||
t = Deref(ARG3);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(ARG6);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d3 = i-j;
|
|
||||||
t = Deref(ARG7);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(ARG8);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
|
|
||||||
return fabs(sqrt(d1*d1 + d2*d2 + d3*d3)-i) <= j;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static Int
|
|
||||||
p_in_range2( USES_REGS1 ) {
|
|
||||||
CELL *p1, *p2;
|
|
||||||
Term t;
|
|
||||||
double i,j;
|
|
||||||
double d1;
|
|
||||||
double d2;
|
|
||||||
double d3;
|
|
||||||
UInt arity;
|
|
||||||
p1 = RepAppl(Deref(ARG1));
|
|
||||||
arity = ArityOfFunctor((Functor)*p1);
|
|
||||||
p1 += arity-2;
|
|
||||||
p2 = RepAppl(Deref(ARG2))+(arity-2);;
|
|
||||||
|
|
||||||
t = Deref(p1[0]);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(p2[0]);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d1 = i-j;
|
|
||||||
t = Deref(p1[1]);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(p2[1]);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d2 = i-j;
|
|
||||||
t = Deref(p1[2]);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(p2[2]);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
d3 = i-j;
|
|
||||||
t = Deref(ARG3);
|
|
||||||
if (IsFloatTerm(t)) i = FloatOfTerm(t); else i = IntegerOfTerm(t);
|
|
||||||
t = Deref(ARG4);
|
|
||||||
if (IsFloatTerm(t)) j = FloatOfTerm(t); else j = IntegerOfTerm(t);
|
|
||||||
|
|
||||||
return fabs(sqrt(d1*d1 + d2*d2 + d3*d3)-i) <= j;
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static Int
|
static Int
|
||||||
p_max_tagged_integer( USES_REGS1 ) {
|
p_max_tagged_integer( USES_REGS1 ) {
|
||||||
|
@ -4556,6 +4485,7 @@ Yap_InitCPreds(void)
|
||||||
Yap_InitLoadForeign();
|
Yap_InitLoadForeign();
|
||||||
Yap_InitModulesC();
|
Yap_InitModulesC();
|
||||||
Yap_InitSavePreds();
|
Yap_InitSavePreds();
|
||||||
|
Yap_InitRange();
|
||||||
Yap_InitSysPreds();
|
Yap_InitSysPreds();
|
||||||
Yap_InitUnify();
|
Yap_InitUnify();
|
||||||
Yap_InitQLY();
|
Yap_InitQLY();
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
#define GLOBALS_MODULE Yap_heap_regs->globals_module
|
#define GLOBALS_MODULE Yap_heap_regs->globals_module
|
||||||
#define SWI_MODULE Yap_heap_regs->swi_module
|
#define SWI_MODULE Yap_heap_regs->swi_module
|
||||||
#define DBLOAD_MODULE Yap_heap_regs->dbload_module
|
#define DBLOAD_MODULE Yap_heap_regs->dbload_module
|
||||||
|
#define RANGE_MODULE Yap_heap_regs->range_module
|
||||||
|
|
||||||
#define HIDDEN_PREDICATES Yap_heap_regs->hidden_predicates
|
#define HIDDEN_PREDICATES Yap_heap_regs->hidden_predicates
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
Term globals_module;
|
Term globals_module;
|
||||||
Term swi_module;
|
Term swi_module;
|
||||||
Term dbload_module;
|
Term dbload_module;
|
||||||
|
Term range_module;
|
||||||
|
|
||||||
Prop hidden_predicates;
|
Prop hidden_predicates;
|
||||||
|
|
||||||
|
|
|
@ -225,6 +225,7 @@
|
||||||
AtomQuiet = Yap_LookupAtom("quiet");
|
AtomQuiet = Yap_LookupAtom("quiet");
|
||||||
AtomRadix = Yap_LookupAtom("radix");
|
AtomRadix = Yap_LookupAtom("radix");
|
||||||
AtomRandom = Yap_LookupAtom("random");
|
AtomRandom = Yap_LookupAtom("random");
|
||||||
|
AtomRange = Yap_LookupAtom("range");
|
||||||
AtomRead = Yap_LookupAtom("read");
|
AtomRead = Yap_LookupAtom("read");
|
||||||
AtomReadutil = Yap_LookupAtom("readutil");
|
AtomReadutil = Yap_LookupAtom("readutil");
|
||||||
AtomRecordedP = Yap_FullLookupAtom("$recordep");
|
AtomRecordedP = Yap_FullLookupAtom("$recordep");
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
GLOBALS_MODULE = MkAtomTerm(AtomNb);
|
GLOBALS_MODULE = MkAtomTerm(AtomNb);
|
||||||
SWI_MODULE = MkAtomTerm(AtomSwi);
|
SWI_MODULE = MkAtomTerm(AtomSwi);
|
||||||
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
|
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
|
||||||
|
RANGE_MODULE = MkAtomTerm(AtomRange);
|
||||||
|
|
||||||
HIDDEN_PREDICATES = NULL;
|
HIDDEN_PREDICATES = NULL;
|
||||||
|
|
||||||
|
|
|
@ -225,6 +225,7 @@
|
||||||
AtomQuiet = AtomAdjust(AtomQuiet);
|
AtomQuiet = AtomAdjust(AtomQuiet);
|
||||||
AtomRadix = AtomAdjust(AtomRadix);
|
AtomRadix = AtomAdjust(AtomRadix);
|
||||||
AtomRandom = AtomAdjust(AtomRandom);
|
AtomRandom = AtomAdjust(AtomRandom);
|
||||||
|
AtomRange = AtomAdjust(AtomRange);
|
||||||
AtomRead = AtomAdjust(AtomRead);
|
AtomRead = AtomAdjust(AtomRead);
|
||||||
AtomReadutil = AtomAdjust(AtomReadutil);
|
AtomReadutil = AtomAdjust(AtomReadutil);
|
||||||
AtomRecordedP = AtomAdjust(AtomRecordedP);
|
AtomRecordedP = AtomAdjust(AtomRecordedP);
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
|
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
|
||||||
SWI_MODULE = AtomTermAdjust(SWI_MODULE);
|
SWI_MODULE = AtomTermAdjust(SWI_MODULE);
|
||||||
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
|
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
|
||||||
|
RANGE_MODULE = AtomTermAdjust(RANGE_MODULE);
|
||||||
|
|
||||||
RestoreHiddenPredicates();
|
RestoreHiddenPredicates();
|
||||||
|
|
||||||
|
|
|
@ -448,6 +448,8 @@
|
||||||
#define AtomRadix Yap_heap_regs->AtomRadix_
|
#define AtomRadix Yap_heap_regs->AtomRadix_
|
||||||
Atom AtomRandom_;
|
Atom AtomRandom_;
|
||||||
#define AtomRandom Yap_heap_regs->AtomRandom_
|
#define AtomRandom Yap_heap_regs->AtomRandom_
|
||||||
|
Atom AtomRange_;
|
||||||
|
#define AtomRange Yap_heap_regs->AtomRange_
|
||||||
Atom AtomRead_;
|
Atom AtomRead_;
|
||||||
#define AtomRead Yap_heap_regs->AtomRead_
|
#define AtomRead Yap_heap_regs->AtomRead_
|
||||||
Atom AtomReadutil_;
|
Atom AtomReadutil_;
|
||||||
|
|
|
@ -230,6 +230,7 @@ A Queue N "queue"
|
||||||
A Quiet N "quiet"
|
A Quiet N "quiet"
|
||||||
A Radix N "radix"
|
A Radix N "radix"
|
||||||
A Random N "random"
|
A Random N "random"
|
||||||
|
A Range N "range"
|
||||||
A Read N "read"
|
A Read N "read"
|
||||||
A Readutil N "readutil"
|
A Readutil N "readutil"
|
||||||
A RecordedP F "$recordep"
|
A RecordedP F "$recordep"
|
||||||
|
|
|
@ -89,9 +89,6 @@ Int tot_agc_time =0
|
||||||
/* number of heap objects in all garbage collections */
|
/* number of heap objects in all garbage collections */
|
||||||
Int tot_agc_recovered =0
|
Int tot_agc_recovered =0
|
||||||
|
|
||||||
// hidden predicates
|
|
||||||
struct PropEntryStruct * hidden_predicates =NULL
|
|
||||||
|
|
||||||
//arrays.c
|
//arrays.c
|
||||||
#if HAVE_MMAP
|
#if HAVE_MMAP
|
||||||
struct MMAP_ARRAY_BLOCK* mmap_arrays =NULL
|
struct MMAP_ARRAY_BLOCK* mmap_arrays =NULL
|
||||||
|
|
|
@ -101,6 +101,7 @@ Term arg_module ARG_MODULE MkAT AtomArg
|
||||||
Term globals_module GLOBALS_MODULE MkAT AtomNb
|
Term globals_module GLOBALS_MODULE MkAT AtomNb
|
||||||
Term swi_module SWI_MODULE MkAT AtomSwi
|
Term swi_module SWI_MODULE MkAT AtomSwi
|
||||||
Term dbload_module DBLOAD_MODULE MkAT AtomDBLoad
|
Term dbload_module DBLOAD_MODULE MkAT AtomDBLoad
|
||||||
|
Term range_module RANGE_MODULE MkAT AtomRange
|
||||||
|
|
||||||
// hidden predicates
|
// hidden predicates
|
||||||
Prop hidden_predicates HIDDEN_PREDICATES =NULL RestoreHiddenPredicates()
|
Prop hidden_predicates HIDDEN_PREDICATES =NULL RestoreHiddenPredicates()
|
||||||
|
|
Reference in New Issue