This commit is contained in:
Vitor Santos Costa 2011-09-01 13:16:41 -07:00
commit a9c737e532
7 changed files with 394 additions and 59 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
*.so *.so
*.dylib *.dylib
docs/yap.info* docs/yap.info*
.build

View File

@ -44,7 +44,7 @@ SOBJS=gecode_yap.@SO@
CODEGEN=$(srcdir)/code-generator.py CODEGEN=$(srcdir)/code-generator.py
DISJUNCTOR = -DDISJUNCTOR DISJUNCTOR = -DDISJUNCTOR
PYTHON = @PYTHON@ PYTHON = @PYTHON@ -B
export PYTHONPATH:=$(srcdir):$(PYTHONPATH) export PYTHONPATH:=$(srcdir):$(PYTHONPATH)
all: $(SOBJS) gecode.yap all: $(SOBJS) gecode.yap

View File

@ -7,7 +7,7 @@ ENUMS = gecode-enums-$(GECODEVERSION).py
all: $(PROTOTYPES) $(ENUMS) all: $(PROTOTYPES) $(ENUMS)
$(PROTOTYPES): % : xml/namespaceGecode.xml extract-prototypes.xsl $(PROTOTYPES): % : xml/namespaceGecode.xml extract-prototypes.xsl
cat notice.hh > $@ cat notice.hh > $@ || { rm -f $@; exit 1; }
xsltproc extract-prototypes.xsl $< \ xsltproc extract-prototypes.xsl $< \
| sed 's/Gecode:://g' \ | sed 's/Gecode:://g' \
| sed 's/< /</g' \ | sed 's/< /</g' \
@ -17,17 +17,17 @@ $(PROTOTYPES): % : xml/namespaceGecode.xml extract-prototypes.xsl
| sed 's/forceinline //g' \ | sed 's/forceinline //g' \
| sed 's/GECODE_INT_EXPORT //g' \ | sed 's/GECODE_INT_EXPORT //g' \
| sed 's/GECODE_SET_EXPORT //g' \ | sed 's/GECODE_SET_EXPORT //g' \
| grep -v '*' | sort >> $@ | grep -v '*' | sort >> $@ || { rm -f $@; exit 1; }
$(ENUMS): % : xml/namespaceGecode.xml extract-enums.xsl $(ENUMS): % : xml/namespaceGecode.xml extract-enums.xsl
cat notice.py > $@ cat notice.py > $@ || { rm -f $@; exit 1; }
xsltproc extract-enums.xsl $< >> $@ xsltproc extract-enums.xsl $< >> $@ || { rm -f $@; exit 1; }
xml/namespaceGecode.xml: Doxyfile xml/namespaceGecode.xml: Doxyfile
doxygen Doxyfile doxygen Doxyfile
Doxyfile: Doxyfile.in Doxyfile: Doxyfile.in
cat $< | sed "s#@GECODEDIR@#$(GECODEDIR)#" > $@ cat $< | sed "s#@GECODEDIR@#$(GECODEDIR)#" > $@ || { rm -f $@; exit 1; }
clean: clean:
-rm -rf *~ gecode-prototypes-*.hh gecode-enums-*.py Doxyfile xml -rm -rf *~ gecode-prototypes-*.hh gecode-enums-*.py Doxyfile xml

View File

@ -0,0 +1,113 @@
# This file was automatically extracted from Gecode source files.
# It is subject to the same Copyright as the source files from which
# it is derived, and is distributed under the same Licensing conditions.
ENUM_CLASSES = []
class ScriptMode(object):
TYPE = 'ScriptMode'
ENUM = ['SM_SOLUTION','SM_TIME','SM_STAT','SM_GIST']
ENUM_CLASSES.append(ScriptMode)
class IntRelType(object):
TYPE = 'IntRelType'
ENUM = ['IRT_EQ','IRT_NQ','IRT_LQ','IRT_LE','IRT_GQ','IRT_GR']
ENUM_CLASSES.append(IntRelType)
class BoolOpType(object):
TYPE = 'BoolOpType'
ENUM = ['BOT_AND','BOT_OR','BOT_IMP','BOT_EQV','BOT_XOR']
ENUM_CLASSES.append(BoolOpType)
class IntConLevel(object):
TYPE = 'IntConLevel'
ENUM = ['ICL_VAL','ICL_BND','ICL_DOM','ICL_DEF']
ENUM_CLASSES.append(IntConLevel)
class TaskType(object):
TYPE = 'TaskType'
ENUM = ['TT_FIXP','TT_FIXS','TT_FIXE']
ENUM_CLASSES.append(TaskType)
class ExtensionalPropKind(object):
TYPE = 'ExtensionalPropKind'
ENUM = ['EPK_DEF','EPK_SPEED','EPK_MEMORY']
ENUM_CLASSES.append(ExtensionalPropKind)
class IntVarBranch(object):
TYPE = 'IntVarBranch'
ENUM = ['INT_VAR_NONE','INT_VAR_RND','INT_VAR_DEGREE_MIN','INT_VAR_DEGREE_MAX','INT_VAR_AFC_MIN','INT_VAR_AFC_MAX','INT_VAR_MIN_MIN','INT_VAR_MIN_MAX','INT_VAR_MAX_MIN','INT_VAR_MAX_MAX','INT_VAR_SIZE_MIN','INT_VAR_SIZE_MAX','INT_VAR_SIZE_DEGREE_MIN','INT_VAR_SIZE_DEGREE_MAX','INT_VAR_SIZE_AFC_MIN','INT_VAR_SIZE_AFC_MAX','INT_VAR_REGRET_MIN_MIN','INT_VAR_REGRET_MIN_MAX','INT_VAR_REGRET_MAX_MIN','INT_VAR_REGRET_MAX_MAX']
ENUM_CLASSES.append(IntVarBranch)
class IntValBranch(object):
TYPE = 'IntValBranch'
ENUM = ['INT_VAL_MIN','INT_VAL_MED','INT_VAL_MAX','INT_VAL_RND','INT_VAL_SPLIT_MIN','INT_VAL_SPLIT_MAX','INT_VAL_RANGE_MIN','INT_VAL_RANGE_MAX','INT_VALUES_MIN','INT_VALUES_MAX']
ENUM_CLASSES.append(IntValBranch)
class IntAssign(object):
TYPE = 'IntAssign'
ENUM = ['INT_ASSIGN_MIN','INT_ASSIGN_MED','INT_ASSIGN_MAX','INT_ASSIGN_RND']
ENUM_CLASSES.append(IntAssign)
class ViewSelStatus(object):
TYPE = 'ViewSelStatus'
ENUM = ['VSS_BEST','VSS_BETTER','VSS_TIE','VSS_WORSE']
ENUM_CLASSES.append(ViewSelStatus)
class ExecStatus(object):
TYPE = 'ExecStatus'
ENUM = ['__ES_SUBSUMED','ES_FAILED','ES_NOFIX','ES_OK','ES_FIX','ES_NOFIX_FORCE','__ES_PARTIAL']
ENUM_CLASSES.append(ExecStatus)
class ActorProperty(object):
TYPE = 'ActorProperty'
ENUM = ['AP_DISPOSE','AP_WEAKLY']
ENUM_CLASSES.append(ActorProperty)
class SpaceStatus(object):
TYPE = 'SpaceStatus'
ENUM = ['SS_FAILED','SS_SOLVED','SS_BRANCH']
ENUM_CLASSES.append(SpaceStatus)
class SetRelType(object):
TYPE = 'SetRelType'
ENUM = ['SRT_EQ','SRT_NQ','SRT_SUB','SRT_SUP','SRT_DISJ','SRT_CMPL','SRT_LQ','SRT_LE','SRT_GQ','SRT_GR']
ENUM_CLASSES.append(SetRelType)
class SetOpType(object):
TYPE = 'SetOpType'
ENUM = ['SOT_UNION','SOT_DUNION','SOT_INTER','SOT_MINUS']
ENUM_CLASSES.append(SetOpType)
class SetVarBranch(object):
TYPE = 'SetVarBranch'
ENUM = ['SET_VAR_NONE','SET_VAR_RND','SET_VAR_DEGREE_MIN','SET_VAR_DEGREE_MAX','SET_VAR_AFC_MIN','SET_VAR_AFC_MAX','SET_VAR_MIN_MIN','SET_VAR_MIN_MAX','SET_VAR_MAX_MIN','SET_VAR_MAX_MAX','SET_VAR_SIZE_MIN','SET_VAR_SIZE_MAX','SET_VAR_SIZE_DEGREE_MIN','SET_VAR_SIZE_DEGREE_MAX','SET_VAR_SIZE_AFC_MIN','SET_VAR_SIZE_AFC_MAX']
ENUM_CLASSES.append(SetVarBranch)
class SetValBranch(object):
TYPE = 'SetValBranch'
ENUM = ['SET_VAL_MIN_INC','SET_VAL_MIN_EXC','SET_VAL_MED_INC','SET_VAL_MED_EXC','SET_VAL_MAX_INC','SET_VAL_MAX_EXC','SET_VAL_RND_INC','SET_VAL_RND_EXC']
ENUM_CLASSES.append(SetValBranch)
class SetAssign(object):
TYPE = 'SetAssign'
ENUM = ['SET_ASSIGN_MIN_INC','SET_ASSIGN_MIN_EXC','SET_ASSIGN_MED_INC','SET_ASSIGN_MED_EXC','SET_ASSIGN_MAX_INC','SET_ASSIGN_MAX_EXC','SET_ASSIGN_RND_INC','SET_ASSIGN_RND_EXC']
ENUM_CLASSES.append(SetAssign)

View File

@ -0,0 +1,221 @@
// This file was automatically extracted from Gecode source files.
// It is subject to the same Copyright as the source files from which
// it is derived, and is distributed under the same Licensing conditions.
void abs(Home,IntVar,IntVar,IntConLevel=ICL_DEF);
void assign(Home,BoolVar,IntAssign,const ValBranchOptions&=ValBranchOptions::def);
void assign(Home,const BoolVarArgs&,IntAssign,const ValBranchOptions&=ValBranchOptions::def);
void assign(Home,const IntVarArgs&,IntAssign,const ValBranchOptions&=ValBranchOptions::def);
void assign(Home,const SetVarArgs&,SetAssign,const ValBranchOptions&=ValBranchOptions::def);
void assign(Home,IntVar,IntAssign,const ValBranchOptions&=ValBranchOptions::def);
void assign(Home,SetVar,SetAssign,const ValBranchOptions&=ValBranchOptions::def);
void atmostOne(Home,const SetVarArgs&,unsigned int);
void binpacking(Home,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void branch(Home,BoolVar,IntValBranch,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const BoolVarArgs&,const TieBreakVarBranch<IntVarBranch>&,IntValBranch,const TieBreakVarBranchOptions&=TieBreakVarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const BoolVarArgs&,IntVarBranch,IntValBranch,const VarBranchOptions&=VarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const IntVarArgs&,const TieBreakVarBranch<IntVarBranch>&,IntValBranch,const TieBreakVarBranchOptions&=TieBreakVarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const IntVarArgs&,IntVarBranch,IntValBranch,const VarBranchOptions&=VarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const SetVarArgs&,const TieBreakVarBranch<SetVarBranch>&,SetValBranch,const TieBreakVarBranchOptions&=TieBreakVarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,const SetVarArgs&,SetVarBranch,SetValBranch,const VarBranchOptions&=VarBranchOptions::def,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,IntVar,IntValBranch,const ValBranchOptions&=ValBranchOptions::def);
void branch(Home,SetVar,SetValBranch,const ValBranchOptions&=ValBranchOptions::def);
void cardinality(Home,SetVar,IntVar);
void cardinality(Home,SetVar,unsigned int,unsigned int);
void channel(Home,BoolVar,IntVar,IntConLevel=ICL_DEF);
void channel(Home,const BoolVarArgs&,IntVar,int=0,IntConLevel=ICL_DEF);
void channel(Home,const BoolVarArgs&,SetVar);
void channel(Home,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void channel(Home,const IntVarArgs&,const SetVarArgs&);
void channel(Home,const IntVarArgs&,int,const IntVarArgs&,int,IntConLevel=ICL_DEF);
void channel(Home,IntVar,BoolVar,IntConLevel=ICL_DEF);
void channelSorted(Home,const IntVarArgs&,SetVar);
void circuit(Home,const IntArgs&,const IntVarArgs&,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void circuit(Home,const IntArgs&,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void circuit(Home,const IntArgs&,int,const IntVarArgs&,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void circuit(Home,const IntArgs&,int,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void circuit(Home,const IntVarArgs&,IntConLevel=ICL_DEF);
void circuit(Home,int,const IntVarArgs&,IntConLevel=ICL_DEF);
void clause(Home,BoolOpType,const BoolVarArgs&,const BoolVarArgs&,BoolVar,IntConLevel=ICL_DEF);
void clause(Home,BoolOpType,const BoolVarArgs&,const BoolVarArgs&,int,IntConLevel=ICL_DEF);
void convex(Home,SetVar);
void convex(Home,SetVar,SetVar);
void count(Home,const IntVarArgs&,const IntArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntSetArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntSetArgs&,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntSet&,const IntArgs&,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntSet&,IntRelType,int,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntSet&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,int,IntRelType,int,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,int,IntRelType,IntVar,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,IntVar,IntRelType,int,IntConLevel=ICL_DEF);
void count(Home,const IntVarArgs&,IntVar,IntRelType,IntVar,IntConLevel=ICL_DEF);
void cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void cumulative(Home,IntVar,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntArgs&,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntArgs&,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void cumulatives(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,bool,IntConLevel=ICL_DEF);
void distinct(Home,const IntArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void distinct(Home,const IntVarArgs&,IntConLevel=ICL_DEF);
void div(Home,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void divmod(Home,IntVar,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void dom(Home,const IntVarArgs&,const IntSet&,IntConLevel=ICL_DEF);
void dom(Home,const IntVarArgs&,int,IntConLevel=ICL_DEF);
void dom(Home,const IntVarArgs&,int,int,IntConLevel=ICL_DEF);
void dom(Home,IntVar,const IntSet&,BoolVar,IntConLevel=ICL_DEF);
void dom(Home,IntVar,const IntSet&,IntConLevel=ICL_DEF);
void dom(Home,IntVar,int,BoolVar,IntConLevel=ICL_DEF);
void dom(Home,IntVar,int,int,BoolVar,IntConLevel=ICL_DEF);
void dom(Home,IntVar,int,IntConLevel=ICL_DEF);
void dom(Home,IntVar,int,int,IntConLevel=ICL_DEF);
void dom(Home,SetVar,SetRelType,const IntSet&);
void dom(Home,SetVar,SetRelType,const IntSet&,BoolVar);
void dom(Home,SetVar,SetRelType,int);
void dom(Home,SetVar,SetRelType,int,BoolVar);
void dom(Home,SetVar,SetRelType,int,int);
void dom(Home,SetVar,SetRelType,int,int,BoolVar);
void element(Home,const BoolVarArgs&,IntVar,BoolVar,IntConLevel=ICL_DEF);
void element(Home,const BoolVarArgs&,IntVar,int,IntConLevel=ICL_DEF);
void element(Home,const BoolVarArgs&,IntVar,int,IntVar,int,BoolVar,IntConLevel=ICL_DEF);
void element(Home,const IntSetArgs&,IntVar,int,IntVar,int,SetVar);
void element(Home,const IntSetArgs&,IntVar,SetVar);
void element(Home,const IntVarArgs&,IntVar,int,IntConLevel=ICL_DEF);
void element(Home,const IntVarArgs&,IntVar,int,IntVar,int,IntVar,IntConLevel=ICL_DEF);
void element(Home,const IntVarArgs&,IntVar,IntVar,IntConLevel=ICL_DEF);
void element(Home,const SetVarArgs&,IntVar,int,IntVar,int,SetVar);
void element(Home,const SetVarArgs&,IntVar,SetVar);
void element(Home,IntSharedArray,IntVar,BoolVar,IntConLevel=ICL_DEF);
void element(Home,IntSharedArray,IntVar,int,IntConLevel=ICL_DEF);
void element(Home,IntSharedArray,IntVar,int,IntVar,int,BoolVar,IntConLevel=ICL_DEF);
void element(Home,IntSharedArray,IntVar,int,IntVar,int,IntVar,IntConLevel=ICL_DEF);
void element(Home,IntSharedArray,IntVar,IntVar,IntConLevel=ICL_DEF);
void element(Home,SetOpType,const IntArgs&,SetVar,SetVar,const IntSet&=IntSet(Set::Limits::min,Set::Limits::max));
void element(Home,SetOpType,const IntSetArgs&,SetVar,SetVar,const IntSet&=IntSet(Set::Limits::min,Set::Limits::max));
void element(Home,SetOpType,const IntVarArgs&,SetVar,SetVar,const IntSet&=IntSet(Set::Limits::min,Set::Limits::max));
void element(Home,SetOpType,const SetVarArgs&,SetVar,SetVar,const IntSet&=IntSet(Set::Limits::min,Set::Limits::max));
void extensional(Home,const BoolVarArgs&,const TupleSet&,ExtensionalPropKind=EPK_DEF,IntConLevel=ICL_DEF);
void extensional(Home,const BoolVarArgs&,DFA,IntConLevel=ICL_DEF);
void extensional(Home,const IntVarArgs&,const TupleSet&,ExtensionalPropKind=EPK_DEF,IntConLevel=ICL_DEF);
void extensional(Home,const IntVarArgs&,DFA,IntConLevel=ICL_DEF);
void linear(Home,const BoolVarArgs&,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const BoolVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void linear(Home,const BoolVarArgs&,IntRelType,IntVar,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const BoolVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const BoolVarArgs&,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const BoolVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const BoolVarArgs&,IntRelType,IntVar,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const BoolVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const IntVarArgs&,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const IntVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const IntVarArgs&,IntRelType,IntVar,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntArgs&,const IntVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void linear(Home,const IntVarArgs&,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void linear(Home,const IntVarArgs&,IntRelType,IntVar,BoolVar,IntConLevel=ICL_DEF);
void linear(Home,const IntVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void max(Home,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void max(Home,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void max(Home,SetVar,IntVar);
void max(Home,SetVar,IntVar,BoolVar);
void member(Home,const BoolVarArgs&,BoolVar,BoolVar,IntConLevel=ICL_DEF);
void member(Home,const BoolVarArgs&,BoolVar,IntConLevel=ICL_DEF);
void member(Home,const IntVarArgs&,IntVar,BoolVar,IntConLevel=ICL_DEF);
void member(Home,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void min(Home,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void min(Home,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void min(Home,SetVar,IntVar);
void min(Home,SetVar,IntVar,BoolVar);
void mod(Home,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void mult(Home,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void nooverlap(Home,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void nooverlap(Home,const IntVarArgs&,const IntArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void nooverlap(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void nooverlap(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void notMax(Home,SetVar,IntVar);
void notMin(Home,SetVar,IntVar);
void nvalues(Home,const BoolVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void nvalues(Home,const BoolVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void nvalues(Home,const IntVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void nvalues(Home,const IntVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void path(Home,const IntArgs&,const IntVarArgs&,IntVar,IntVar,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void path(Home,const IntArgs&,const IntVarArgs&,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void path(Home,const IntArgs&,int,const IntVarArgs&,IntVar,IntVar,const IntVarArgs&,IntVar,IntConLevel=ICL_DEF);
void path(Home,const IntArgs&,int,const IntVarArgs&,IntVar,IntVar,IntVar,IntConLevel=ICL_DEF);
void path(Home,const IntVarArgs&,IntVar,IntVar,IntConLevel=ICL_DEF);
void path(Home,int,const IntVarArgs&,IntVar,IntVar,IntConLevel=ICL_DEF);
void precede(Home,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void precede(Home,const IntVarArgs&,int,int,IntConLevel=ICL_DEF);
void precede(Home,const SetVarArgs&,const IntArgs&);
void precede(Home,const SetVarArgs&,int,int);
void rel(Home,BoolOpType,const BoolVarArgs&,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,BoolOpType,const BoolVarArgs&,int,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,BoolOpType,BoolVar,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,BoolOpType,BoolVar,int,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,IntRelType,BoolVar,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,IntRelType,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,BoolVar,IntRelType,int,IntConLevel=ICL_DEF);
void rel(Home,const BoolVarArgs&,IntRelType,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,const BoolVarArgs&,IntRelType,const BoolVarArgs&,IntConLevel=ICL_DEF);
void rel(Home,const BoolVarArgs&,IntRelType,IntConLevel=ICL_DEF);
void rel(Home,const BoolVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void rel(Home,const IntSet&,SetOpType,SetVar,SetRelType,const IntSet&);
void rel(Home,const IntSet&,SetOpType,SetVar,SetRelType,SetVar);
void rel(Home,const IntVarArgs&,IntRelType,const IntVarArgs&,IntConLevel=ICL_DEF);
void rel(Home,const IntVarArgs&,IntRelType,IntConLevel=ICL_DEF);
void rel(Home,const IntVarArgs&,IntRelType,int,IntConLevel=ICL_DEF);
void rel(Home,const IntVarArgs&,IntRelType,IntVar,IntConLevel=ICL_DEF);
void rel(Home,IntVar,IntRelType,int,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,IntVar,IntRelType,int,IntConLevel=ICL_DEF);
void rel(Home,IntVar,IntRelType,IntVar,BoolVar,IntConLevel=ICL_DEF);
void rel(Home,IntVar,IntRelType,IntVar,IntConLevel=ICL_DEF);
void rel(Home,IntVar,IntRelType,SetVar);
void rel(Home,IntVar,SetRelType,SetVar);
void rel(Home,IntVar,SetRelType,SetVar,BoolVar);
void rel(Home,SetOpType,const IntVarArgs&,const IntSet&,SetVar);
void rel(Home,SetOpType,const IntVarArgs&,SetVar);
void rel(Home,SetOpType,const SetVarArgs&,const IntSet&,SetVar);
void rel(Home,SetOpType,const SetVarArgs&,SetVar);
void rel(Home,SetVar,IntRelType,IntVar);
void rel(Home,SetVar,SetOpType,const IntSet&,SetRelType,const IntSet&);
void rel(Home,SetVar,SetOpType,const IntSet&,SetRelType,SetVar);
void rel(Home,SetVar,SetOpType,SetVar,SetRelType,const IntSet&);
void rel(Home,SetVar,SetOpType,SetVar,SetRelType,SetVar);
void rel(Home,SetVar,SetRelType,IntVar);
void rel(Home,SetVar,SetRelType,IntVar,BoolVar);
void rel(Home,SetVar,SetRelType,SetVar);
void rel(Home,SetVar,SetRelType,SetVar,BoolVar);
void sequence(Home,const BoolVarArgs&,const IntSet&,int,int,int,IntConLevel=ICL_DEF);
void sequence(Home,const IntVarArgs&,const IntSet&,int,int,int,IntConLevel=ICL_DEF);
void sequence(Home,const SetVarArgs&);
void sequence(Home,const SetVarArgs&,SetVar);
void sorted(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void sorted(Home,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void sqr(Home,IntVar,IntVar,IntConLevel=ICL_DEF);
void sqrt(Home,IntVar,IntVar,IntConLevel=ICL_DEF);
void unary(Home,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void unary(Home,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void unary(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void unary(Home,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,IntConLevel=ICL_DEF);
void unary(Home,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel=ICL_DEF);
void unary(Home,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,IntConLevel=ICL_DEF);
void unshare(Home,BoolVarArgs&,IntConLevel=ICL_DEF);
void unshare(Home,IntVarArgs&,IntConLevel=ICL_DEF);
void weights(Home,IntSharedArray,IntSharedArray,SetVar,IntVar);

View File

@ -360,179 +360,179 @@ get_for_vars([V|Vs],Space,[V2|V2s],F) :-
get_assigned(Space, Var) :- get_assigned(Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_assigned(Space_,Var_) -> gecode_intvar_assigned(Space_,Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_assigned(Space_,Var_) -> gecode_boolvar_assigned(Space_,Var_)
; is_SetVar(Var,Var_) ; is_SetVar(Var,Var_)
-> gecode_setvar_assigned(Space_,Var_) -> gecode_setvar_assigned(Space_,Var_)
; throw(gecode_error(expected(variable))). ; throw(gecode_error(expected(variable)))).
get_min(X, Space, Var) :- get_min(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_min(X, Space_, Var_) -> gecode_intvar_min(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_min(X, Space_, Var_) -> gecode_boolvar_min(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_min). ; get_for_vars(X, Space, Var, gecode:get_min)).
get_max(X, Space, Var) :- get_max(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_max(X, Space_, Var_) -> gecode_intvar_max(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_max(X, Space_, Var_) -> gecode_boolvar_max(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_max). ; get_for_vars(X, Space, Var, gecode:get_max)).
get_med(X, Space, Var) :- get_med(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_med(X, Space_, Var_) -> gecode_intvar_med(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_med(X, Space_, Var_) -> gecode_boolvar_med(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_med). ; get_for_vars(X, Space, Var, gecode:get_med)).
get_val(X, Space, Var) :- get_val(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_val(X, Space_, Var_) -> gecode_intvar_val(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_val(X, Space_, Var_) -> gecode_boolvar_val(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_val). ; get_for_vars(X, Space, Var, gecode:get_val)).
get_size(X, Space, Var) :- get_size(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_size(X, Space_, Var_) -> gecode_intvar_size(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_size(X, Space_, Var_) -> gecode_boolvar_size(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_size). ; get_for_vars(X, Space, Var, gecode:get_size)).
get_width(X, Space, Var) :- get_width(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_width(X, Space_, Var_) -> gecode_intvar_width(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_width(X, Space_, Var_) -> gecode_boolvar_width(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_width). ; get_for_vars(X, Space, Var, gecode:get_width)).
get_regret_min(X, Space, Var) :- get_regret_min(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_regret_min(X, Space_, Var_) -> gecode_intvar_regret_min(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_regret_min(X, Space_, Var_) -> gecode_boolvar_regret_min(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_regret_min). ; get_for_vars(X, Space, Var, gecode:get_regret_min)).
get_regret_max(X, Space, Var) :- get_regret_max(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_regret_max(X, Space_, Var_) -> gecode_intvar_regret_max(X, Space_, Var_)
; is_BoolVar(Var,Var_) ; is_BoolVar(Var,Var_)
-> gecode_boolvar_regret_max(X, Space_, Var_) -> gecode_boolvar_regret_max(X, Space_, Var_)
; get_for_vars(X, Space, Var, gecode:get_regret_max). ; get_for_vars(X, Space, Var, gecode:get_regret_max)).
get_glbSize(X, Space, Var) :- get_glbSize(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_glbSize(X,Space_,Var_) -> gecode_setvar_glbSize(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_glbSize). ; get_for_vars(X, Space, Var, gecode:get_glbSize)).
get_lubSize(X, Space, Var) :- get_lubSize(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_lubSize(X,Space_,Var_) -> gecode_setvar_lubSize(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_lubSize). ; get_for_vars(X, Space, Var, gecode:get_lubSize)).
get_unknownSize(X, Space, Var) :- get_unknownSize(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_unknownSize(X,Space_,Var_) -> gecode_setvar_unknownSize(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_unknownSize). ; get_for_vars(X, Space, Var, gecode:get_unknownSize)).
get_cardMin(X, Space, Var) :- get_cardMin(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_cardMin(X,Space_,Var_) -> gecode_setvar_cardMin(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_cardMin). ; get_for_vars(X, Space, Var, gecode:get_cardMin)).
get_cardMax(X, Space, Var) :- get_cardMax(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_cardMax(X,Space_,Var_) -> gecode_setvar_cardMax(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_cardMax). ; get_for_vars(X, Space, Var, gecode:get_cardMax)).
get_lubMin(X, Space, Var) :- get_lubMin(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_lubMin(X,Space_,Var_) -> gecode_setvar_lubMin(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_lubMin). ; get_for_vars(X, Space, Var, gecode:get_lubMin)).
get_lubMax(X, Space, Var) :- get_lubMax(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_lubMax(X,Space_,Var_) -> gecode_setvar_lubMax(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_lubMax). ; get_for_vars(X, Space, Var, gecode:get_lubMax)).
get_glbMin(X, Space, Var) :- get_glbMin(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_glbMin(X,Space_,Var_) -> gecode_setvar_glbMin(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_glbMin). ; get_for_vars(X, Space, Var, gecode:get_glbMin)).
get_glbMax(X, Space, Var) :- get_glbMax(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_glbMax(X,Space_,Var_) -> gecode_setvar_glbMax(X,Space_,Var_)
; get_for_vars(X, Space, Var, gecode:get_glbMax). ; get_for_vars(X, Space, Var, gecode:get_glbMax)).
get_glb_ranges(X, Space, Var) :- get_glb_ranges(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_glb_ranges(X,Space_,Var_) -> gecode_setvar_glb_ranges(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_glb_ranges). ; get_for_vars(X,Space,Var,gecode:get_glb_ranges)).
get_lub_ranges(X, Space, Var) :- get_lub_ranges(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_lub_ranges(X,Space_,Var_) -> gecode_setvar_lub_ranges(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_lub_ranges). ; get_for_vars(X,Space,Var,gecode:get_lub_ranges)).
get_unknown_ranges(X, Space, Var) :- get_unknown_ranges(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_unknown_ranges(X,Space_,Var_) -> gecode_setvar_unknown_ranges(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_unknown_ranges). ; get_for_vars(X,Space,Var,gecode:get_unknown_ranges)).
get_glb_values(X, Space, Var) :- get_glb_values(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_glb_values(X,Space_,Var_) -> gecode_setvar_glb_values(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_glb_values). ; get_for_vars(X,Space,Var,gecode:get_glb_values)).
get_lub_values(X, Space, Var) :- get_lub_values(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_lub_values(X,Space_,Var_) -> gecode_setvar_lub_values(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_lub_values). ; get_for_vars(X,Space,Var,gecode:get_lub_values)).
get_unknown_values(X, Space, Var) :- get_unknown_values(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_SetVar(Var,Var_) (is_SetVar(Var,Var_)
-> gecode_setvar_unknown_values(X,Space_,Var_) -> gecode_setvar_unknown_values(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_unknown_values). ; get_for_vars(X,Space,Var,gecode:get_unknown_values)).
get_ranges(X, Space, Var) :- get_ranges(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_ranges(X,Space_,Var_) -> gecode_intvar_ranges(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_ranges). ; get_for_vars(X,Space,Var,gecode:get_ranges)).
get_values(X, Space, Var) :- get_values(X, Space, Var) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),
is_IntVar(Var,Var_) (is_IntVar(Var,Var_)
-> gecode_intvar_values(X,Space_,Var_) -> gecode_intvar_values(X,Space_,Var_)
; get_for_vars(X,Space,Var,gecode:get_values). ; get_for_vars(X,Space,Var,gecode:get_values)).
new_disjunctor(X, Space) :- new_disjunctor(X, Space) :-
assert_is_Space(Space,Space_), assert_is_Space(Space,Space_),