This commit is contained in:
Vitor Santos Costa
2019-03-18 14:47:29 +00:00
parent e8d9e71a4e
commit 70a43ece1d
14 changed files with 105 additions and 83 deletions

View File

@@ -694,7 +694,7 @@ class CCDescriptor(object):
print('YAP_UserCPredicate("gecode_constraint_%s", gecode_constraint_%s, %d);' \
% (self.api, self.api, len(self.argtypes)))
GECODE_VERSION = None
GECODE_VERSION = "6.1.1"
def gecode_version():
#import pdb; pdb.set_trace()

View File

@@ -1,5 +1,5 @@
GECODEDIR := $(shell g++ $(CPPFLAGS) $(CXXFLAGS) -H -E gecodedir.hh 2>&1 >/dev/null | grep gecode/kernel.hh | awk '{print $$2}' | sed 's|/kernel.hh||')
GECODEDIR=/usr/local/opt/gecode/include/gecode
GECODEDIR=/usr/include/gecode
GECODECONFIG := $(GECODEDIR)/support/config.hpp
GECODEVERSION := $(shell cat $(GECODECONFIG) | egrep '\<GECODE_VERSION\>' | awk '{print $$3}' | sed 's/"//g')
PROTOTYPES = ../gecode-prototypes-$(GECODEVERSION).hh

View File

@@ -353,27 +353,27 @@ namespace generic_gecode
else return ikaboom("too late to create vars");
}
int new_svar(int glbMin, int glbMax, int lubMin, int lubMax,
int new_svar(int glbMin, int glbMax, int lub,
unsigned int cardMin=0,
unsigned int cardMax=Set::Limits::card)
{
SetVar v(*this, glbMin, glbMax, lubMin, lubMax, cardMin, cardMax);
SetVar v(*this, glbMin, glbMax, lub, cardMin, cardMax);
return _new_svar(v);
}
int new_ssvar(int glbMin, int glbMax, IntSet lubMin, IntSet lubMax,
int new_ssvar(int glbMin, int glbMax, IntSet lub,
unsigned int cardMin=0,
unsigned int cardMax=Set::Limits::card)
{
SetVar v(*this, glbMin, glbMax, lubMin, lubMax, cardMin, cardMax);
SetVar v(*this, glbMin, glbMax, lub, cardMin, cardMax);
return _new_svar(v);
}
int new_ssvar(IntSet glb, int lubMin, int lubMax,
int new_ssvar(IntSet glb, int lub,
unsigned int cardMin=0,
unsigned int cardMax=Set::Limits::card)
{
SetVar v(*this, glb, lubMin, lubMax, cardMin, cardMax);
SetVar v(*this, glb, lub, cardMin, cardMax);
return _new_svar(v);
}

View File

@@ -825,10 +825,10 @@ return BOOL_VAL_RND(Rnd());
int GlbMin = YAP_IntOfTerm(YAP_ARG3);
int GlbMax = YAP_IntOfTerm(YAP_ARG4);
int LubMin = YAP_IntOfTerm(YAP_ARG5);
int LubMax = YAP_IntOfTerm(YAP_ARG6);
int LubMax = YAP_IntOfTerm(YAP_ARG6); //ignore
int CardMin= YAP_IntOfTerm(YAP_ARG7);
int CardMax= YAP_IntOfTerm(YAP_ARG8);
int idx = space->new_svar(GlbMin,GlbMax,LubMin,LubMax,CardMin,CardMax);
int idx = space->new_svar(GlbMin,GlbMax,LubMin,CardMin,CardMax);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -839,9 +839,9 @@ return BOOL_VAL_RND(Rnd());
int GlbMin = YAP_IntOfTerm(YAP_ARG3);
int GlbMax = YAP_IntOfTerm(YAP_ARG4);
int LubMin = YAP_IntOfTerm(YAP_ARG5);
int LubMax = YAP_IntOfTerm(YAP_ARG6);
int LubMax = YAP_IntOfTerm(YAP_ARG6); //ignore
int CardMin= YAP_IntOfTerm(YAP_ARG7);
int idx = space->new_svar(GlbMin,GlbMax,LubMin,LubMax,CardMin);
int idx = space->new_svar(GlbMin,GlbMax,LubMin,CardMin);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -852,8 +852,8 @@ return BOOL_VAL_RND(Rnd());
int GlbMin = YAP_IntOfTerm(YAP_ARG3);
int GlbMax = YAP_IntOfTerm(YAP_ARG4);
int LubMin = YAP_IntOfTerm(YAP_ARG5);
int LubMax = YAP_IntOfTerm(YAP_ARG6);
int idx = space->new_svar(GlbMin,GlbMax,LubMin,LubMax);
int LubMax = YAP_IntOfTerm(YAP_ARG6); //ignore?
int idx = space->new_svar(GlbMin,GlbMax,LubMin);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -863,10 +863,10 @@ return BOOL_VAL_RND(Rnd());
GenericSpace* space = gecode_Space_from_term(YAP_ARG2);
IntSet Glb = gecode_IntSet_from_term(YAP_ARG3);
int LubMin = YAP_IntOfTerm(YAP_ARG4);
int LubMax = YAP_IntOfTerm(YAP_ARG5);
int LubMax = YAP_IntOfTerm(YAP_ARG5);//
int CardMin = YAP_IntOfTerm(YAP_ARG6);
int CardMax = YAP_IntOfTerm(YAP_ARG7);
int idx = space->new_ssvar(Glb,LubMin,LubMax,CardMin,CardMax);
int idx = space->new_ssvar(Glb,LubMin/* ,lubmax */,CardMin,CardMax);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -890,7 +890,7 @@ return BOOL_VAL_RND(Rnd());
IntSet Glb = gecode_IntSet_from_term(YAP_ARG3);
int LubMin = YAP_IntOfTerm(YAP_ARG4);
int LubMax = YAP_IntOfTerm(YAP_ARG5);
int idx = space->new_ssvar(Glb,LubMin,LubMax);
int idx = space->new_ssvar(Glb,LubMin/* ,lubmax */);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -903,7 +903,7 @@ return BOOL_VAL_RND(Rnd());
IntSet Lub = gecode_IntSet_from_term(YAP_ARG5);
int CardMin = YAP_IntOfTerm(YAP_ARG6);
int CardMax = YAP_IntOfTerm(YAP_ARG7);
int idx = space->new_ssvar(GlbMin,GlbMax,Lub,Lub,CardMin,CardMax);
int idx = space->new_ssvar(GlbMin,GlbMax,Lub,CardMin,CardMax);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}
@@ -915,7 +915,7 @@ return BOOL_VAL_RND(Rnd());
int GlbMax = YAP_IntOfTerm(YAP_ARG4);
IntSet Lub = gecode_IntSet_from_term(YAP_ARG5);
int CardMin = YAP_IntOfTerm(YAP_ARG6);
int idx = space->new_ssvar(GlbMin,GlbMax,Lub,Lub,CardMin);
int idx = space->new_ssvar(GlbMin,GlbMax,Lub,CardMin);
return YAP_Unify(result, YAP_MkIntTerm(idx));
}