range and fix locals.

This commit is contained in:
Vitor Santos Costa 2012-10-23 14:55:44 +01:00
parent 139b06115e
commit 8126381e8d
12 changed files with 12 additions and 74 deletions

View File

@ -327,5 +327,6 @@ Yap_InitModules(void)
LookupModule(ARG_MODULE);
LookupModule(GLOBALS_MODULE);
LookupModule(DBLOAD_MODULE);
LookupModule(RANGE_MODULE);
CurrentModule = PROLOG_MODULE;
}

View File

@ -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();

View File

@ -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

View File

@ -99,6 +99,7 @@
Term globals_module;
Term swi_module;
Term dbload_module;
Term range_module;
Prop hidden_predicates;

View File

@ -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");

View File

@ -99,6 +99,7 @@
GLOBALS_MODULE = MkAtomTerm(AtomNb);
SWI_MODULE = MkAtomTerm(AtomSwi);
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
RANGE_MODULE = MkAtomTerm(AtomRange);
HIDDEN_PREDICATES = NULL;

View File

@ -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);

View File

@ -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();

View File

@ -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_;

View File

@ -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"

View File

@ -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

View File

@ -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()