diff --git a/.gitignore b/.gitignore index fc1b2a50a..f30fde5d9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ *.o *.so *.dylib -docs/yap.info* \ No newline at end of file +docs/yap.info* +.build diff --git a/library/gecode/Makefile.in b/library/gecode/Makefile.in index 0ae3ef8a8..37e7ef294 100644 --- a/library/gecode/Makefile.in +++ b/library/gecode/Makefile.in @@ -44,7 +44,7 @@ SOBJS=gecode_yap.@SO@ CODEGEN=$(srcdir)/code-generator.py DISJUNCTOR = -DDISJUNCTOR -PYTHON = @PYTHON@ +PYTHON = @PYTHON@ -B export PYTHONPATH:=$(srcdir):$(PYTHONPATH) all: $(SOBJS) gecode.yap diff --git a/library/gecode/extractor/Makefile b/library/gecode/extractor/Makefile index 3fc261ab7..16906c240 100644 --- a/library/gecode/extractor/Makefile +++ b/library/gecode/extractor/Makefile @@ -7,7 +7,7 @@ ENUMS = gecode-enums-$(GECODEVERSION).py all: $(PROTOTYPES) $(ENUMS) $(PROTOTYPES): % : xml/namespaceGecode.xml extract-prototypes.xsl - cat notice.hh > $@ + cat notice.hh > $@ || { rm -f $@; exit 1; } xsltproc extract-prototypes.xsl $< \ | sed 's/Gecode:://g' \ | sed 's/< /> $@ + | grep -v '*' | sort >> $@ || { rm -f $@; exit 1; } $(ENUMS): % : xml/namespaceGecode.xml extract-enums.xsl - cat notice.py > $@ - xsltproc extract-enums.xsl $< >> $@ + cat notice.py > $@ || { rm -f $@; exit 1; } + xsltproc extract-enums.xsl $< >> $@ || { rm -f $@; exit 1; } xml/namespaceGecode.xml: Doxyfile doxygen Doxyfile Doxyfile: Doxyfile.in - cat $< | sed "s#@GECODEDIR@#$(GECODEDIR)#" > $@ + cat $< | sed "s#@GECODEDIR@#$(GECODEDIR)#" > $@ || { rm -f $@; exit 1; } clean: -rm -rf *~ gecode-prototypes-*.hh gecode-enums-*.py Doxyfile xml diff --git a/library/gecode/gecode-enums-3.6.0.pyc b/library/gecode/gecode-enums-3.6.0.pyc deleted file mode 100644 index 959eb1290..000000000 Binary files a/library/gecode/gecode-enums-3.6.0.pyc and /dev/null differ diff --git a/library/gecode/gecode-enums-3.7.0.py b/library/gecode/gecode-enums-3.7.0.py new file mode 100644 index 000000000..f2d84a057 --- /dev/null +++ b/library/gecode/gecode-enums-3.7.0.py @@ -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) + diff --git a/library/gecode/gecode-prototypes-3.7.0.hh b/library/gecode/gecode-prototypes-3.7.0.hh new file mode 100644 index 000000000..a0120ac9d --- /dev/null +++ b/library/gecode/gecode-prototypes-3.7.0.hh @@ -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&,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&,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&,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); diff --git a/library/gecode/gecode_yap_hand_written.yap b/library/gecode/gecode_yap_hand_written.yap index a5fea2a79..466670b93 100644 --- a/library/gecode/gecode_yap_hand_written.yap +++ b/library/gecode/gecode_yap_hand_written.yap @@ -360,179 +360,179 @@ get_for_vars([V|Vs],Space,[V2|V2s],F) :- get_assigned(Space, Var) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_assigned(Space_,Var_) ; is_BoolVar(Var,Var_) -> gecode_boolvar_assigned(Space_,Var_) ; is_SetVar(Var,Var_) -> gecode_setvar_assigned(Space_,Var_) - ; throw(gecode_error(expected(variable))). + ; throw(gecode_error(expected(variable)))). get_min(X, Space, Var) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_min(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_max(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_med(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_val(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_size(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_width(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_regret_min(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,Var_) -> gecode_intvar_regret_max(X, Space_, Var_) ; is_BoolVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_SetVar(Var,Var_) + (is_SetVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,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) :- assert_is_Space(Space,Space_), - is_IntVar(Var,Var_) + (is_IntVar(Var,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) :- assert_is_Space(Space,Space_),