range and fix locals.
This commit is contained in:
parent
139b06115e
commit
8126381e8d
@ -327,5 +327,6 @@ Yap_InitModules(void)
|
||||
LookupModule(ARG_MODULE);
|
||||
LookupModule(GLOBALS_MODULE);
|
||||
LookupModule(DBLOAD_MODULE);
|
||||
LookupModule(RANGE_MODULE);
|
||||
CurrentModule = PROLOG_MODULE;
|
||||
}
|
||||
|
72
C/stdpreds.c
72
C/stdpreds.c
@ -4309,77 +4309,6 @@ p_loop( USES_REGS1 ) {
|
||||
}
|
||||
#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
|
||||
p_max_tagged_integer( USES_REGS1 ) {
|
||||
@ -4556,6 +4485,7 @@ Yap_InitCPreds(void)
|
||||
Yap_InitLoadForeign();
|
||||
Yap_InitModulesC();
|
||||
Yap_InitSavePreds();
|
||||
Yap_InitRange();
|
||||
Yap_InitSysPreds();
|
||||
Yap_InitUnify();
|
||||
Yap_InitQLY();
|
||||
|
@ -99,6 +99,7 @@
|
||||
#define GLOBALS_MODULE Yap_heap_regs->globals_module
|
||||
#define SWI_MODULE Yap_heap_regs->swi_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
|
||||
|
||||
|
@ -99,6 +99,7 @@
|
||||
Term globals_module;
|
||||
Term swi_module;
|
||||
Term dbload_module;
|
||||
Term range_module;
|
||||
|
||||
Prop hidden_predicates;
|
||||
|
||||
|
@ -225,6 +225,7 @@
|
||||
AtomQuiet = Yap_LookupAtom("quiet");
|
||||
AtomRadix = Yap_LookupAtom("radix");
|
||||
AtomRandom = Yap_LookupAtom("random");
|
||||
AtomRange = Yap_LookupAtom("range");
|
||||
AtomRead = Yap_LookupAtom("read");
|
||||
AtomReadutil = Yap_LookupAtom("readutil");
|
||||
AtomRecordedP = Yap_FullLookupAtom("$recordep");
|
||||
|
@ -99,6 +99,7 @@
|
||||
GLOBALS_MODULE = MkAtomTerm(AtomNb);
|
||||
SWI_MODULE = MkAtomTerm(AtomSwi);
|
||||
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
|
||||
RANGE_MODULE = MkAtomTerm(AtomRange);
|
||||
|
||||
HIDDEN_PREDICATES = NULL;
|
||||
|
||||
|
@ -225,6 +225,7 @@
|
||||
AtomQuiet = AtomAdjust(AtomQuiet);
|
||||
AtomRadix = AtomAdjust(AtomRadix);
|
||||
AtomRandom = AtomAdjust(AtomRandom);
|
||||
AtomRange = AtomAdjust(AtomRange);
|
||||
AtomRead = AtomAdjust(AtomRead);
|
||||
AtomReadutil = AtomAdjust(AtomReadutil);
|
||||
AtomRecordedP = AtomAdjust(AtomRecordedP);
|
||||
|
@ -99,6 +99,7 @@
|
||||
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
|
||||
SWI_MODULE = AtomTermAdjust(SWI_MODULE);
|
||||
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
|
||||
RANGE_MODULE = AtomTermAdjust(RANGE_MODULE);
|
||||
|
||||
RestoreHiddenPredicates();
|
||||
|
||||
|
@ -448,6 +448,8 @@
|
||||
#define AtomRadix Yap_heap_regs->AtomRadix_
|
||||
Atom AtomRandom_;
|
||||
#define AtomRandom Yap_heap_regs->AtomRandom_
|
||||
Atom AtomRange_;
|
||||
#define AtomRange Yap_heap_regs->AtomRange_
|
||||
Atom AtomRead_;
|
||||
#define AtomRead Yap_heap_regs->AtomRead_
|
||||
Atom AtomReadutil_;
|
||||
|
@ -230,6 +230,7 @@ A Queue N "queue"
|
||||
A Quiet N "quiet"
|
||||
A Radix N "radix"
|
||||
A Random N "random"
|
||||
A Range N "range"
|
||||
A Read N "read"
|
||||
A Readutil N "readutil"
|
||||
A RecordedP F "$recordep"
|
||||
|
@ -89,9 +89,6 @@ Int tot_agc_time =0
|
||||
/* number of heap objects in all garbage collections */
|
||||
Int tot_agc_recovered =0
|
||||
|
||||
// hidden predicates
|
||||
struct PropEntryStruct * hidden_predicates =NULL
|
||||
|
||||
//arrays.c
|
||||
#if HAVE_MMAP
|
||||
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 swi_module SWI_MODULE MkAT AtomSwi
|
||||
Term dbload_module DBLOAD_MODULE MkAT AtomDBLoad
|
||||
Term range_module RANGE_MODULE MkAT AtomRange
|
||||
|
||||
// hidden predicates
|
||||
Prop hidden_predicates HIDDEN_PREDICATES =NULL RestoreHiddenPredicates()
|
||||
|
Reference in New Issue
Block a user